再次播放不工作
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 分支将始终执行。
在我的数学测验代码中,当我输入 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 分支将始终执行。