使用相等运算符检查用户输入是否与Python中文本文件中的行相同时出现问题

2024-05-08 22:13:05 发布

您现在位置:Python中文网/ 问答频道 /正文

自从两年前完成GCSE考试后,我又开始学习Python了。我有一点C语言的背景,但在编写一个简单的程序时遇到了困难。你知道吗

这个节目是测验。它从文本文件中获取输入,并将每一行存储到一个变量中。然后程序继续以答案的形式进行输入,但是当我输入问题的正确答案时,相等运算符不会将用户输入和文本文件中的行识别为相同。你知道吗

文本文件的格式是通过第一行的问题,第二行的答案等。你知道吗

到目前为止,我得到的是:

quiz = open("cseasy.txt","r")

wholequiz = quiz.readlines()

q1 = wholequiz[0]

a1 = wholequiz[1]

mark = 0

ua1 = input(q1)

print (ua1)

print(a1)

if a1 == ua1:

    print ("Correct!")

    mark = mark + 1

else:

    print ("Incorrect!")

我会很感激任何解决方案,以及为什么目前的计划没有产生我想要的结果。你知道吗

上面对q1的回答是A,但是当我输入“A”时,程序的输出是“不正确的!”。你知道吗


Tags: 答案程序a1运算符quiz节目形式mark
1条回答
网友
1楼 · 发布于 2024-05-08 22:13:05

wholequiz = quiz.readlines()

您将得到一个末尾带有换行符(\n)的行列表。除非执行以下操作,否则比较无法成功:

a1 = wholequiz[1].rstrip()

当您逐行读取时,该方法很有用,但由于您一次读取整个文件,因此还可以执行以下操作:

wholequiz = quiz.read().splitlines()

那就不需要剥线换料了。当然,如果文件中有一个尾随空格不能将其删除(方法是rstrip

相关问题 更多 >