我编写了这个简单的代码,并尝试在Windows 10 CMD中执行...,它得到了错误消息:
[12, 21, 28, 84]
代码:
TypeError: Can only concatenate str (not "int") to str
我正在Windows 10中使用Python 3.7.0
答案 0 :(得分:2)
代码第2行中的input()命令会将用户提供的任何输入转换为STRING。因此,当您尝试将STRING添加到数字(浮点数或整数;如果是整数,即factor = 2),它将不会(也不应该!)工作。
因此,要使+操作继续进行,该+号左右两边的数量必须相同(字符串或数字)
答案 1 :(得分:0)
您将字符串添加到int,因为input()
函数返回字符串。使用int(input('age: '))
。
答案 2 :(得分:0)
将年龄转换为整数以进行数学运算
finalAge = int(age) + factor
另外,您可以使用.format()选项:
print("In {0} years you will be {1} years old, {2}!".format(factor, finalAge, userName))
答案 3 :(得分:0)
在python中,您无法连接两个完全不同的数据类型。
1) 1 + 1 = 2
2) '1' + '1' = '11' (string within quotes)
3) '1' + 1 = ??
考虑一下...
好吧,在其他编程语言(如 C )中,该整数将被转换为 char (或字符)并进行操作2 ...
因此,在这种情况下,您需要使用函数{将除其他类型之外的str
(或字符串)数据类型强制转换为整数(或int
)。 {1}}。
语法:int()
示例:int('<some string>')
将产生 7
因此,您需要将输入作为整数,或者在计算int('7')
时将字符串转换为整数:
finalAge
或
age = int(input('age: '))
答案 4 :(得分:0)
在python中,您无法连接两个完全不同的数据类型。
1) 1 + 1 = 2
2) '1' + '1' = '11' (string within quotes)
3) '1' + 1 = ??
考虑一下...
好吧,在其他编程语言(如 C )中,该整数将被转换为 char (或字符)并进行操作2 ...
因此,在这种情况下,您需要使用函数{将除其他类型之外的str
(或字符串)数据类型强制转换为整数(或int
)。 {1}}。
语法:int()
示例:int('<some string>')
将产生 7
因此,您需要将输入作为整数,或者在计算int('7')
时将字符串转换为整数:
finalAge
或
age = int(input('age: '))
答案 5 :(得分:0)
Python 3.7可以满足您的要求。
userName = input('Name:')
age = int(input('age:'))
factor = 2
finalAge = int(年龄)+ int(因子)
print(“ In”,+ factor,“您将成为的岁月”,+ finalAge,“岁数” + userName +“!”)
答案 6 :(得分:0)
TypeError:只能将str(不是“ int”)连接到str
此错误表明它只能将字符串连接到字符串。 在您的程序中,您尝试将字符串和整数连接起来
输入命令只能从用户那里获取字符串,并且用户输入的年龄应视为字符串。例如:“ 45”,“ 25”,36等。
该程序试图连接'45'+ 2。哪个抛出这个错误。
相反,您可以尝试将用户输入转换为int然后进行串联。
userName = input('Name: ')
age = int(input('age: '))
finalAge = age + factor
factor = 2
finalAge = age + factor
print('In ', factor, 'years you will be', finalAge, 'years old', userName, '!')
答案 7 :(得分:0)
Python是强类型的,因此除非您告知,否则不会强制输入。
如果您尝试在字符串中添加数字,则会出现该错误,因为基于第一个操作数,该数字表明您要连接字符串。
如果您尝试在数字中添加字符串,则会得到“不受支持的操作数类型”,但这是同样的问题。
如果要将字符串中的数字转换为整数,可以使用int()
。如果要将数字值转换为可以连接的字符串,请使用str()
。
答案 8 :(得分:0)
我在django中遇到了同样的问题,我通过清除Chrome缓存来解决了该问题
答案 9 :(得分:0)
userName = input('Name: ')
age = input('age: ')
factor = 2
finalAge = int(age) + factor
print('In', factor, 'years you will be', finalAge, 'years old', userName+'!')
答案 10 :(得分:-1)
我认为这种类型的错误:
TypeError: can only concatenate str (not "float") to str
原因是Python使用逗号(,)将print()
函数中的所有元素粘贴在一起。与Java稍有不同,他们使用加号(+)粘贴并输出结果。
注意:仔细检查所有print()
函数,看看您是否放了+号,应该用代替,