我需要代码能够同时接受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()

10-07 21:13