You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python对比标准答案与作答列表统计得分的实现问题

列表对比统计答题正确率解决方案

原代码错误点

  • 变量名拼写错误:定义的作答列表变量为answers,循环时写为answer,会直接触发名称报错
  • 核心逻辑不符合需求:判分需要按题目顺序一一对应比对,嵌套双层for循环会让每个作答答案匹配所有正确答案,完全不符合按题判分的逻辑
  • 遍历列表同时修改列表:在for循环遍历列表的过程中执行pop操作会导致列表索引偏移,出现元素漏遍历、程序报错的问题;且pop()方法传入的参数是元素索引,原代码传入元素值,会误删其他位置的元素
  • 分支逻辑错误:不管答案是否匹配都执行pop操作,完全不符合统计逻辑

正确实现代码

answers = [1, 1, 2, 2, 1, 2, 1]
correct = [1, 2, 1, 2, 2, 1, 2]
score = 0

# 按题目顺序配对两个列表的对应元素,逐一比对计数
for user_answer, correct_answer in zip(answers, correct):
    if user_answer == correct_answer:
        score += 1

print(score)

上述代码运行后输出结果为2,和实际匹配的题目数量一致。

内容的提问来源于stack exchange,提问作者Calle Ehrnberg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:15:04