再次播放不工作

play again not working

在我的数学测验代码中,当我输入 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 在不应该播放的时候再次播放。

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

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

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

if again== 'y' or 'Y': 并不像您认为的那样。 or是一个布尔运算符,所以下面是一样的:if (again == 'y') or ('Y')。因为在布尔上下文中字符总是被视为 True,所以您的 if 分支将始终执行。