我被困住了;我的老师和同学不知道如何帮助或为什么会这样。
total=0
questions=open('questions.txt','r')
for x in range(20):
print(questions.readline())
print(questions.readline())
P1=input('Which answer is correct? type the corresponding letter: ')
rightanswer=questions.readline()
if P1==rightanswer:
print('correct!')
total=total+1
if P1!=rightanswer:
print('incorrect!')
所以这一切都很好,问题在于正确答案。我的文本文件布局如下:
What is hardware component in a computer that stores random information?
a: VrAM, b: GPU, c: CPU, d: RAM
d
它继续在文本文件中提出所有问题,(他预计20)。它始终打印'不正确!',直到最后一个问题,它实际上检测到我的答案是正确的。我不知道如何解决这个问题,似乎我的代码没问题,因为它确实有效,但只有在文本文件的末尾才能告诉我答案是否正确。
答案 0 :(得分:0)
我怀疑你的问题是@jonrsharpe提到的。您可以通过使用删除前导/尾随空格的字符串方法strip()来更正此问题。因此,应将两行更改为:
P1=input('Which answer is correct? type the corresponding letter: ').strip()
rightanswer=questions.readline().strip()
答案 1 :(得分:0)
需要从我的行中删除\ n,以便它实际上注册为正确的答案。