我刚刚开始使用python并试图制作某种闪存卡。我这样做是通过在记事本中创建一个文本文件,只是写一些简单的数学问题。问题写得像这样。
1 + 1 = ???
2
2 + 2 = ???
4
8 x 4 = ???
32
然后我的代码就是这个。
#!/usr/bin/python3
x = 0
f=open('cardsss.txt').readlines()
while x < 6:
line = f
print(line[x])
answer = input()
if answer == line[x+1]:
print ('Correct')
else:
print ('Wrong')
x = x + 2
print ("Done")
问题在于,当我把答案放入时,它总是说我输入的内容是错误的,我无法弄清楚原因。
我会得到这样的屏幕
1 + 1 = ???
2
Wrong
2 + 2 = ???
4
Wrong
8 x 4 = ???
32
Wrong
Done
答案 0 :(得分:1)
包含答案的行以新行字符\n
结尾。您需要剥离您正在从文件中读取的行中的新行字符,以使项目匹配:
if answer == line[x+1].strip():
...
答案 1 :(得分:0)
解决方案:
TESTS_NUM = 3
with open('cardsss.txt') as f:
for _ in range(TESTS_NUM):
line = next(f)
print(line)
answer = input("Your answer: ")
right_answer = next(f)
if answer.strip() == right_answer.strip():
print("Correct")
else:
print("Wrong")
print("Done")
此解决方案适用于文件&#39; cardsss.txt&#39;不包含空行。