我的任务是为一个学校项目制作一个测验应用程序。它的意思是询问用户想要多少问题,然后他们输入所有的问答。一旦完成,就会有人参加测试。在
问题是,我从results函数得到一个索引器。这个函数用来比较测试答案和用户的答案,并打印出一个分数。在
def results(testAnswers, userAnswers):
score = 0
for i in range(0, len(answers)):
if testAnswers[i].lower().strip() == userAnswers[i].lower().strip():
score += 1
print("\nResults: You got " + str(score) + " out of " + str(len(answers)) + "!")
有人知道我怎么解决这个问题吗?在
你的问题是:
假设times是10,n是9,它执行,
n+=1
使其为10。很可能,数组中有10个元素(注10是一个例子),现在user_answers[10
引发了一个异常,因为有效的变量是0..9
要解决此问题,请使用
^{pr2}$elif
:另一种方法是完全去掉
else
子句请注意,有很多地方可以优化代码,但我将在这里留下答案,让您自己来解决其他问题。在
由于未知原因,测试答案和用户答案的长度不相等。这里的教训是始终确保它们的长度相同。在
一个简单的if语句可以防止整个错误。在
也许把你的代码复制到这个站点出错了,但是不管怎样,这里的代码格式都不正确,这使得你很难阅读。在
不管怎样,很明显你正在索引到一个不存在的点。要帮助跟踪此错误,请在启动while循环后添加以下行:
然后运行程序并将程序的输出粘贴到问题中(但首先请更正缩进)
相关问题 更多 >
编程相关推荐