代码不检查输入的答案是否正确

时间:2019-04-08 23:29:45

标签: python-3.x

我正在尝试创建一个选择题测验,该测验从外部.txt文件中获取问题并以python打印。文本文件的布局如下:

1,谁是第一个在月球上行走的人?,迈克尔·杰克逊(A.Michael Jackson),巴斯·布赖特(Buzz Lightyear),尼尔·阿姆斯特朗(Neil Armstrong),没人(D.Nobody)和

当我运行代码并输入正确的答案时,它仍然说不正确,但继续说出我输入的答案。

在代码中,我将文本文件中的每一行都用'分隔,因此文本文件中的正确答案始终是detail [6]。在我输入的代码中:

@tracked

我认为这是可行的,因为它会根据详细信息检查输入的答案[6],但它总是不正确。

if answer.upper() == detail[6]:
            print("Well done, that's correct!")
            score=score + 1
            print(score)
elif answer.upper() != detail[6]:
            print("Incorrect, the correct answer is ",detail[6])
            print(score)

我希望代码能够通过对照文本文件中的detail [6]来检查输入的答案是否正确,而不是总是以不正确的形式出现,而是正确的答案是detail [6]。 / p>

1 个答案:

答案 0 :(得分:1)

问题是readlines()在每行的末尾保留换行符。 您的detail[6]类似于'C\n'而不是'C'本身。要解决此问题,请使用

detail = question.strip().split(",")