TypeError:无法连接“str”和“int”对象[重复]
- 2025-02-27 09:07:00
- admin 原创
- 73
问题描述:
我有这个将字符串添加到整数的 Python 程序:
a = raw_input("Enter a: ")
b = raw_input("Enter b: ")
print "a + b as strings: " + a + b
a = int(a)
b = int(b)
c = a + b
str(c)
print "a + b as integers: " + c
我收到此错误:
TypeError: cannot concatenate 'str' and 'int' objects
如何将字符串添加到整数?
解决方案 1:
有两种方法可以解决由最后一条语句引起的问题print
。
str(c)
您可以将调用的结果分配给c
@jamylak 正确显示的内容,然后连接所有字符串,或者您可以print
简单地用以下内容替换最后一个字符串:
print "a + b as integers: ", c # note the comma here
在这种情况下
str(c)
没有必要,可以删除。
示例运行的输出:
Enter a: 3
Enter b: 7
a + b as strings: 37
a + b as integers: 10
和:
a = raw_input("Enter a: ")
b = raw_input("Enter b: ")
print "a + b as strings: " + a + b # + everywhere is ok since all are strings
a = int(a)
b = int(b)
c = a + b
print "a + b as integers: ", c
解决方案 2:
str(c)
返回 的新字符串表示形式c
,并且不会c
自我变异。
c = str(c)
可能是你正在寻找的
解决方案 3:
如果您想将 int 或 float 连接到字符串,则必须使用以下命令:
i = 123
a = "foobar"
s = a + str(i)
解决方案 4:
c = a + b
str(c)
实际上,在最后一行中,你并没有改变变量 c 的类型。如果你这样做
c_str=str(c)
print "a + b as integers: " + c_str
它应该可以工作。
解决方案 5:
除了其他答案之外,还可以使用format()
print("a + b as integers: {}".format(c))
例如 -
hours = 13
minutes = 32
print("Time elapsed - {} hours and {} minutes".format(hours, minutes))
将导致输出 -Time elapsed - 13 hours and 32 minutes
查看文档以获取更多信息。
解决方案 6:
您可以转换int
为str
使用字符串函数:
user = "mohan"
line = str(50)
print(user + "typed" + line + "lines")
解决方案 7:
最简单且最不令人困惑的解决方案:
a = raw_input("Enter a: ")
b = raw_input("Enter b: ")
print "a + b as strings: %s" % a + b
a = int(a)
b = int(b)
c = a + b
print "a + b as integers: %d" % c
我在http://freecodeszone.blogspot.com/上找到了这个
解决方案 8:
我还收到了错误消息“TypeError:无法连接‘str’和‘int’对象”。事实证明,我只是在打印变量时忘记在变量周围添加 str()。这是我的代码:
def main():
rolling = True; import random
while rolling:
roll = input("ENTER = roll; Q = quit ")
if roll.lower() != 'q':
num = (random.randint(1,6))
print("----------------------"); print("you rolled " + str(num))
else:
rolling = False
main()
运行代码片段Hide results展开片段
我知道,这是一个愚蠢的错误,但是对于像我这样刚接触 Python 的初学者来说,这种情况是会发生的。
解决方案 9:
这就是我为摆脱这个用“,”分隔变量的错误所做的工作,对我有帮助。
# Applying BODMAS
arg3 = int((2 + 3) * 45 / - 2)
arg4 = "Value "
print arg4, "is", arg3
输出如下
值为 -113
(程序退出,代码:0)
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD