刚开始写的那个逻辑有点混乱,只通过了三个测试点,所以今天索性又重新写了一个,这次更加的注重逻辑的实现,主要的就是使用了两个字典,一个是dir_count_wrong,用来保存每个题错误选项的次数,还有一个就是dir_list_wrong,是用来保存每个题的错误选项。
(1)首先是对正确选项以及同学的答案进行处理,放到字典中;
(2)对每一个同学的选择题进行分析,分为三种情况,全对,部分对以及答案错误,并且算出该同学的得分;
(3)在将同学的答题情况分为三种后,就可以分别进行统计, 全对时不用考虑,然后就是考虑部分对以及答案错误的情况;
(4)对每个同学的每个选项进行分析,若是错误的(这个错误包括漏选以及多选),则将该题的选项保存到该题的dir_list_wrong字典中,这个字典中的值就是错误选项的list,主要的作用就是判断该题的该选项是否是第一次出错;然后再根据是否是第一次出错,对保存选项次数的dir_count_wrong进行操作;
(5)之后就是统计出错的最多的选项,然后输出相应的格式。
def get_input(M, dir_right_answers, list_grades):
#得到所有标准答案并存放在字典中, 并返回分数list
for i in range(M):
string_right = input()
dir_right_answers[i] = string_right
list_grades.appe

本文介绍了一种使用Python处理多选题计分的方法。通过建立两个字典,dir_count_wrong记录错误选项次数,dir_list_wrong保存错误选项,处理每个学生的答案,区分全对、部分对和错误情况,统计并输出错误最多的选项。
最低0.47元/天 解锁文章

986

被折叠的 条评论
为什么被折叠?



