我想制作一个简单的加法程序,但由于出现以下错误而陷入困境: TypeError:只能将str(而不是“ int”)连接到str。
我不知道该怎么做,我是Python编码的新手。
def addition():
x = int(input("Please enter the first number:"))
y = int(input("Please enter the second number:"))
z = x+y
print("The sum of " +x+ " and " +y+ " gives " +z )
我希望代码返回两个输入值之和的值。
答案 0 :(得分:2)
+
运算符可以在多个上下文中工作。在这种情况下,相关的用例是:
在连接内容时(例如strings
);
要添加数字(int
,float
等)时。
因此,当您在同时使用字符串和整数变量(+
,x
和y
)的概念中使用z
时,Python将无法满足您的意图正确地。在这种情况下,您希望将句子中的数字连接起来就好像它们是单词一样,您必须将数字从int
格式转换为string
格式。在这里,见下文:
def addition():
x = int(input("Please enter the first number:"))
y = int(input("Please enter the second number:"))
z = x+y
print("The sum of " + str(x) + " and " + str(y) + " gives " + str(z))
答案 1 :(得分:1)
问题是当您打印输出(print("The sum of " +x+ " and " +y+ " gives " +z )
)时,您正在将字符串添加到整数(x
,y
和z
)中。
尝试将其替换为
print("The sum of {0} and {1} gives {2}".format(x, y, z))