Python:将文件行读取后拆分的字符串与输入返回false进行比较

时间:2018-06-01 23:59:32

标签: string python-3.x file split

我正在尝试从文本文件中读取问题和答案(两者都存储在同一行)。然后,我将使用逗号分隔符分割该行,将值存储到两个变量中。我将向用户显示问题,用户将回复。然后,我将用户输入与文件中的答案进行比较。然后根据答案是否正确显示一条消息。

我的代码如下:

File = open("Quiz.txt", "r")
for Line in File:
    Question, Answer = Line.split(',', 1)
    UserAnswer = input(Question)
    if(UserAnswer == Answer):
        print("Correct")
    else:
        print("Incorrect")
File.close()

我的测验文件如下:

Q1) What is a Variable used for?,Storage
Q2) How many bits in a Byte?,8
Q3) How many Bytes in a Kilobyte?,1024

文件读入并且我使用了print语句来查看变量中存储的值。除了用户输入和存储值之间的比较返回false(第5行)之外,所有内容都显示正常。我甚至试图将值转换为字符串,并且比较仍然返回false。

我知道可能有一些明显的东西,我正在俯视,需要另一组眼睛。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

“答案”上的最后一个字符是新行字符。尝试:

UserAnswer == Answer[:-1]

' [: - 1] '从字符串中删除最后一个字符。