TypeError:无法转换' int'隐含地反对str

时间:2015-01-16 20:19:05

标签: string int

我正在尝试为自己学习python语言(上面的v3),并且我坚持在早期阶段!

这个练习是从一个python练习网站上获得的,他们的解决方案也得出了同样的结论。我有这个非常基本的代码:

numero = input("introduza um numero:")

print ("O numero é:", numero)

print ("O resultado é:")

print (((numero + 3) * 2) - 4 - (2 * numero) + 3)**

事情是我在stackoverflow中搜索了这个问题,但碰巧我只发现了这个错误的大量代码行而且我迷路了。

程序运行直到我输入数字然后我得到这个:

  

TypeError:无法转换' int'隐含地反对str

每次在任何声明变量或打印命令之前输入命令时都会发生这种情况。

感谢您的关注!

2 个答案:

答案 0 :(得分:0)

在Python 3中,input会返回包含用户输入的string

因此,numero的可能值为"3"。 Python告诉你,你不能在stringint上一起做数学。

您可以将第一行更改为以下内容:

numero = int(input("introduza um numero:"))

这会将用户的输入转换为int,如果无法转换输入,则会抛出错误。

答案 1 :(得分:0)

input将数据作为字符串,如果要进行一些数学计算,则必须将其转换为整数。

numero = int(input("introduza um numero:"))

这会将您的numero转换为整数,然后您可以进行计算。记住;

"4" != 4 

第一个是string,第二个是integer。一个例子;

numero = int(input("introduza um numero:"))
print (((numero + 3) * 2) - 4 - (2 * numero) + 3)