再打不起来

时间:2015-04-01 21:19:47

标签: python math

在我的数学测验代码中,当我再次出现时输入N,它会在不应该播放时再次播放。这是我的代码:

def play_again():
    again= input("would you like to play again? y for yes and n for no")
    while again not in ['Y','y','N','n']:
        again = input("please enter 'Y' or 'N'")

    if again== 'y' or 'Y':
        do_the_quiz()
    else:
        print("cheers lad thanks for playing")
        exit()

你能发现一些错误的东西,它会让N或n再次发挥作用。

2 个答案:

答案 0 :(得分:0)

我认为你的条件错了。 它可以是:

if again=='y' or again=='Y':

if again in ['Y', 'y']:

答案 1 :(得分:0)

if again== 'y' or 'Y':没有按照您的想法行事。 or是一个布尔运算符,因此以下内容是相同的:if (again == 'y') or ('Y')。因为字符在布尔上下文中被视为True,所以if分支将一直执行。