用python设计一个程序

img


设计一个简易阅卷模拟程序,需要用程序语句。学的条件语句循环语句,嵌套模型都要用上(应该)。

随机生成阅卷分数类型。

###阅卷问题
import random
import pandas as pd
score = [i for i in range(1,17) ]       ## 所有分数区间
data = pd.DataFrame(columns='score_1,score_2,score_3,final_score'.split(','))
print(data)
for i in range(100):       ### 设置总的循环次数
    a=random.choice(score)
    b = random.choice(score)
    c = 0
    final_score = None
    if abs(a - b) <= 4 :
        final_score = (a+b)/2         ###  如果不超过阈值,取平均数
    else :
        c = random.choice(score)   ### 引入第三人打分
        if abs(a-c) == abs(b-c) :
            final_score = (a+c)/2 if a>=b else (b+c)/2
        elif abs(a-c) >4 and abs(b-c) >4 :
            data.loc[len(data)] = [a, b, c, '还在研究']
            print('阅卷存在分歧,该生试卷进入评判组')
        else :
            final_score = (a+c)/2 if abs(a-c)<=abs(b-c) else (b+c)/2     ###第5种情况
    data.loc[len(data)] = [a,b,c,final_score]
for i in data.index :
    a,b,c , final_score= data.loc[i,:]
    print(f'阅卷老师分数分别为:{int(a)} , {int(b)} , {int(c)}   最终成绩为:{final_score}')

效果

img

实际阅卷代码like:
需要设置学生次数(循环次数)
手动输入各个学生数据

###阅卷问题
import random
import pandas as pd
score = [i for i in range(1,17) ]       ## 所有分数区间
data = pd.DataFrame(columns='班级,学号,score_1,score_2,score_3,final_score'.split(','))
print(data)
for i in range(5):       ### 设置总的循环次数
    cls , xh, a , b=input('请输入班级,学号,第一第二老师的阅卷分数,空格隔开  ').split(' ')
    c = 0
    final_score = None
    a,b = int(a) , int(b)    ### 数据类型转换
    if abs(a - b) <= 4 :
        final_score = (a+b)/2         ###  如果不超过阈值,取平均数
    else :
        c = int(input('请输入第三个老师的分数') )   ### 引入第三人打分
        if abs(a-c) == abs(b-c) :
            final_score = (a+c)/2 if a>=b else (b+c)/2
        elif abs(a-c) >4 and abs(b-c) >4 :
            data.loc[len(data)] = [cls , xh ,a, b, c, '还在研究']
            print('阅卷存在分歧,该生试卷进入评判组')
        else :
            final_score = (a+c)/2 if abs(a-c)<=abs(b-c) else (b+c)/2     ###第5种情况
    data.loc[len(data)] = [cls , xh , a , b , c , final_score]
for i in data.index :
    cls, xh , a,b,c , final_score= data.loc[i,:]
    print(f'阅卷老师分数分别为:{int(a)} , {int(b)} , {int(c)}   最终成绩为:{final_score}')