试图在Python 3中制作闪存卡

时间:2016-11-21 23:22:33

标签: python python-3.5

我刚刚开始使用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

2 个答案:

答案 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;不包含空行。