我需要读入学生测验文件中的分数,并返回3次测验中的最高分数。我需要在python中使用hash/dictionary。这是我到目前为止的情况。你知道吗
STD_ID = {}
ATTEMPTS = {}
SCORE= {}
f= open("std_attempt_score.txt", "r")
line = f.readline()
for line in f:
line = line.rstrip()
ents = line.split("\t")
did = ents[1]
if did in STD_ID:
ATTEMPTS[did] += 3
SCORE[did] += int(ents[2])
else:
STD_ID[did] = ents[2]
ATTEMPTS[did] = 3
SCORE[did] = int(ents[2])
for key in STD_ID:
print("Avg score for Student", key, "=",SCORE)
文件中的文本数据。你知道吗
FILE
STD_ID ATT_NUM SCORE
S23Y 1 85
S03X 1 80
S34Z 1 19
S54M 1 23
S34Z 2 25
S01X 1 79
S03X 2 10
S23Y 2 09
S34Z 3 92
S54M 2 96
S23Y 3 74
S54M 3 65
S03X 3 54
我的结果如下:
Avg score for Student 1 = {'1': 286, '2': 140, '3': 285}
Avg score for Student 2 = {'1': 286, '2': 140, '3': 285}
Avg score for Student 3 = {'1': 286, '2': 140, '3': 285}
如果您不需要存储每次尝试的分数,那么如果该值高于当前记录的尝试,为什么不直接替换该值呢?你知道吗
给定代码的问题:
循环以一个文本头开始,在转到if else语句进行学生id检查之前不检查该文本头代码编号在脚本中取平均值。固定代码
下面是一个示例代码样本输出:
相关问题 更多 >
编程相关推荐