TypeError:只能将str(不是“ int”)连接到str(简单的Python程序)

时间:2018-09-07 15:35:35

标签: python

我编写了这个简单的代码,并尝试在Windows 10 CMD中执行...,它得到了错误消息:

[12, 21, 28, 84]

代码:

TypeError: Can only concatenate str (not "int") to str

我正在Windows 10中使用Python 3.7.0

11 个答案:

答案 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()函数,看看您是否放了+号,应该用代替,