我正在尝试进行输入验证,限制为只允许“y/y”或“n/n”
在执行两个这样的检查时,我无法关闭while循环。(即,即使输入“Y/Y”或“N/N”,循环仍将继续。)
print('Would you like to play a game?')
play_a_game = input()
while play_a_game.lower() != 'y' or play_a_game.lower() != 'n':
print(play_a_game)
print('Invalid input')
print('Would you like to play a game?')
play_a_game = input()
但是,如果我将while语句限制为一个检查,则循环可以正常退出(即,如果输入“Y/Y”,则循环将关闭)
print('Would you like to play a game?')
play_a_game = input()
while play_a_game.lower() != 'y':
print(play_a_game)
print('Invalid input')
print('Would you like to play a game?')
play_a_game = input()
问题在于
or
操作。让我们做一张真值表看看为什么现在会这样
您实际需要的:
这相当于
如上所述,真值表将始终计算为真值,并使您处于循环中。当询问用户是否希望继续玩游戏时,请考虑限制对“N”或“N”的响应。p>
例如,当((继续玩!=“N”)和(继续玩!=“N”):
相关问题 更多 >
编程相关推荐