如何让python 3接受整数和字符串答案

时间:2015-10-31 13:10:55

标签: python string python-3.x integer

我需要代码能够接受整数和字符串版本1和2.我尝试在input()上使用str()和int()但它不起作用并且只接受整数形式如果用户的输入不是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)

2 个答案:

答案 0 :(得分:6)

根据您检查用户输入的方式,最好不要输入输入法。

首先,删除输入中的所有类型转换:

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()

答案 1 :(得分:1)

您通常应将用户输入视为字符串,因为您无法保证他们将要执行的操作。然后在使用int(x)方法将它转换为int之前,你会使用x.isdigit()之类的东西。