我需要代码能够同时接受1和2的整数和字符串版本。我尝试在input()上使用str()和int(),但是它不起作用,仅接受1和2的整数形式。 2.如果用户的输入不是1、1、2或2,则我需要退出游戏。任何帮助表示赞赏。
print ('\n If you want to play the first game, enter 1.')
print ('I you want to play the second game, enter 2.')
gamechoice = str(int(input('\nPlease select the difficulty of the game: '))).lower()
if gamechoice == 1 or 'one':
Firstgame()
elif gamechoice == 2 or 'two':
secondgame()
else:
print ('\nSorry i dont undrstand')
sys.exit(0)
最佳答案
根据您似乎在检查用户输入的方式,最好不要键入内容。
首先,删除输入中的所有类型转换:
gamechoice = input('\nPlease select the difficulty of the game: ')
现在,无论用户输入了什么,您将拥有的绝对是字符串。此时,您应该做的是测试
gamechoice
是否与期望值匹配以切换适当的游戏。您可以将in
与条件语句一起使用,如下所示:if gamechoice.lower() in ('1', 'one'):
Firstgame()
elif gamechoice.lower() in ('2', 'two'):
secondgame()