String 类型错误:Can';t转换为';int';对象隐式地访问str

String 类型错误:Can';t转换为';int';对象隐式地访问str,string,int,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)** 问题是我确实在st

我正在努力为自己学习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

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


谢谢你的提醒

在Python3中,
input
返回包含用户输入的
字符串

因此,
numero
的一个可能值是
“3”
。Python告诉您不能同时对
string
s和
int
s进行计算

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

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

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

input
如果要进行一些数学计算,则必须将数据转换为整数

numero = int(input("introduza um numero:"))
这将把您的
numero
转换为整数,然后您可以进行计算。记住

"4" != 4 
第一个是
字符串
,第二个是
整数
。一个例子

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

那么,错误消息告诉了你什么?它不会为您将整数转换为字符串。所以结论是。。。也许你应该自己做?你会怎么做?不知何故使用
str()
?因为“numero”来自输入,所以它是一个字符串。所以“数字+3”毫无意义。要么把它转换成一个int,要么把3转换成一个字符串。对于这么简单的事情,真是一团糟谢谢Guysahh,非常感谢,我确实把int放在int之前了,但从来没用过。碰巧我忘了关闭(对于int命令,int。谢谢你的帮助,但恰好比。当我介绍int时,我不得不缩小差距,没有支付任何费用。当我输入int时,我没有关闭整个命令。对不起,英语不是我的主要语言language@NunoCorreia我编辑了我的答案,请检查示例。复制并粘贴到脚本中。
numero=int(input(“introzaum numero:”)
我错过了最后一个
关闭了它,我是这样做的:
numero=int(input(“introzaum numero:”)