计算机组件琐事项目,奇怪的文本文件问题

时间:2018-06-07 17:10:57

标签: python python-3.x

我被困住了;我的老师和同学不知道如何帮助或为什么会这样。

   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)。它始终打印'不正确!',直到最后一个问题,它实际上检测到我的答案是正确的。我不知道如何解决这个问题,似乎我的代码没问题,因为它确实有效,但只有在文本文件的末尾才能告诉我答案是否正确。

2 个答案:

答案 0 :(得分:0)

我怀疑你的问题是@jonrsharpe提到的。您可以通过使用删除前导/尾随空格的字符串方法strip()来更正此问题。因此,应将两行更改为:

P1=input('Which answer is correct? type the corresponding letter: ').strip()
rightanswer=questions.readline().strip()

答案 1 :(得分:0)

需要从我的行中删除\ n,以便它实际上注册为正确的答案。