我想比较一个学生的答案和模型答案。学生进行多项选择题测试。共有5个问题,每个问题有3个选择题。
学生为所有问题选择以下选项:“12231”。e、 g:对于Q(1):学生选择选项“1”,对于Q(2):学生选择选项“2”…等等。
现在,我需要计算学生的总分,将其与模型答案“12132”进行比较。这个学生得了3/5分。
学生的答案总是和模型答案一样长。e、 学生不会跳过任何问题。
我需要做完全相同的事情,但是有几百个学生。我能用密码吗?我只能考虑使用for循环并迭代学生的答案,但我想不出一种方法来比较两者并计算学生的分数。你知道吗
Tags:
任何时候当你有一个问题以“在另一个相同的位置”结尾时,答案几乎总是
zip
。你知道吗如果你把两个字符串(比如学生的答案和答案键)放在一起,你会得到一对可数:学生的第一个答案和答案键的第一个答案,然后是两个第二个答案,依此类推。你知道吗
因此,如果你想计算一个学生答对了多少个答案,你只需使用
for
语句或理解来循环zip
。例如:这使用了一个额外的技巧:如果将一组布尔值相加,真值将计为1,假值将计为0。但除此之外,没有什么比在
zip
上循环更重要的了。你知道吗如果你想在学生列表中为每个学生的答案做这个,那只是围绕这个的另一个循环。例如:
或者,如果你想超级简洁:
您可以使用distance包—它提供了hamming distance计算器:
现在,如果您有学生答案列表(str)和模型,您可以执行以下操作:
相关问题 更多 >
编程相关推荐