如何从readline()函数中删除字符串中的换行符?

时间:2017-10-27 15:38:10

标签: python python-3.x function variables

出于某种原因,输入正确答案后代码不会增加分数。这是一个多项选择测验,因此它要求输入正确的答案字母。我已经检查过,答案或者userAnswer变量没有任何问题,但即使它们都匹配,分数值也不会增加1. MathQuiz.txt是一个文件,其中包含我的测验问题和答案。有谁知道如何解决这一问题?谢谢。
这是我的代码:

def questions():
    lol = open("MathQuiz.txt", 'r')
    score = 0

    for x in range(5):
        print(lol.readline())
        print(lol.readline())
        answer = lol.readline()
        userAnswer = input("Please chooose the letter correponding to your answer: ")
        while userAnswer.isspace() or userAnswer == "":
            print("You must enter a valid letter.")
            userAnswer = input("Please chooose the letter correponding to your answer: ")
        if answer == userAnswer:
            score += 1 
        else:
            score = score
        print(lol.readline())

    print("Your score is ", score)

questions()

文本文件如下所示:

1.我的名字是什么?

a)Grace b)Ellie c)Craig d)Veronica

d

2.我的年龄是多少?

a)12 b)18 c)45 d)15

a

3.我住哪儿?

a)伯明翰b)伦敦c)利兹d)苏格兰

C

4.我的生日是什么?

a)5月6日b)1月4日c)8月12日d)6月12日

d

5.我最喜欢的颜色是什么?

a)橙色b)红色c)蓝色d)粉红色

c

[这些答案不正确 - 这是一个随机的例子]

1 个答案:

答案 0 :(得分:1)

对于需要答案的人,@ rgk让我知道

answer = lol.readline().strip()

是如何解决我的问题:)