将字符串转换为int?

时间:2013-04-05 03:54:48

标签: python string int

参与猜怪游戏。

为什么在下面的示例中,当我将变量的值“userGuessPosition”硬编码为2时,代码按预期工作。

secretWord = ('music')
userGuessPosition = 2 
slice1 = (secretWord.__len__()) - userGuessPosition - 1  
print (secretWord[slice1:userGuessPosition])

但是当我依赖input()函数并在提示符下键入2时,没有任何反应?

secretWord = ('music')
userGuessPosition = 0
userGuessPosition == input()
slice1 = (secretWord.__len__()) - userGuessPosition - 1  
print (secretWord[slice1:userGuessPosition])

我认为这是因为我的键盘输入“2”被视为字符串而不是整数。如果是这种情况,那么我不清楚转换它的正确语法。

2 个答案:

答案 0 :(得分:5)

问题不在于输入被识别为字符串,而是在语法中:您正在进行比较操作,您应该在其中进行赋值操作。

你必须使用

userGuessPosition = input()

而不是

userGuessPosition == input()

input()函数实际上确实将输入数转换为最合适的类型,sp应该不是问题。但是,如果您需要将字符串(例如my_string)转换为整数,那么您需要做的就是my_int = int(my_string)

修改

如下所述@HenryKeiter,根据您的Python版本,您实际上可能需要手动将input()的返回值转换为整数,因为raw_input()(总是需要输入为字符串)在Python 3中重命名为input()

答案 1 :(得分:4)

userGuessPosition = int(input())

(单=; int将字符串转换为int)