在我的数学测验代码中,当我再次出现时输入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再次发挥作用。
答案 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分支将一直执行。