制作答卷评分表
给出考试的标准答案字符串 K。
题目编号为 1 到 L(L 是 K 的长度),K 的第 i 个字符是第 i 题的答案。
给出 n 名学生的答卷。
答卷是由 A 到 E 和 .(跳过)组成的字符串,长度至少为 1、至多为 L。
答卷比 L 短时,缺少的后面几题算作跳过。
答对得 3 分,答错得 -1 分,跳过得 0 分。
不用循环,而用列表推导式、生成器表达式以及 zip 系列、enumerate、sorted、itertools.groupby 这类内置工具构造并输出以下内容。
1) 按输入顺序,为每名学生输出一行 "名字 分数 答对数 答错数 跳过数"。
2) 把分数相同的学生分为一组,从分数高的组开始,每组输出一行 "分数 名字1 名字2 ..."。
组内的名字按输入顺序写出。
3) 把答错学生最多的题目编号从小到大在一行中用空格分隔输出。
如果没有任何人答错任何题,输出 -。
- 输入
- 第一行为 K(大写英文字母 A 到 E,1 ≤ L ≤ 100)。
第二行为 n(1 ≤ n ≤ 1000)。
接下来 n 行为 "名字 答卷"。
名字为 1 到 10 个小写英文字母和数字,互不相同。 - 输出
- 1) n 行,2) 不同分数个数那么多行,3) 一行
ABCDE 4 mina ABCDD joon AB sora .BCEA ted EBC
mina 11 4 1 0 joon 6 2 0 3 sora 4 2 2 1 ted 5 2 1 2 11 mina 6 joon 5 ted 4 sora 5
CAB 3 amy CAB bo C.B cy CAB
amy 9 3 0 0 bo 6 2 0 1 cy 9 3 0 0 9 amy cy 6 bo -