只能将str(不是'int')连接到str

时间:2018-12-26 16:26:25

标签: python

我想制作一个简单的加法程序,但由于出现以下错误而陷入困境: 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 )

我希望代码返回两个输入值之和的值。

2 个答案:

答案 0 :(得分:2)

+运算符可以在多个上下文中工作。在这种情况下,相关的用例是:

  • 在连接内容时(例如strings);

  • 要添加数字(intfloat等)时。

因此,当您在同时使用字符串和整数变量(+xy)的概念中使用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 ))时,您正在将字符串添加到整数(xyz)中。

尝试将其替换为

print("The sum of {0} and {1} gives {2}".format(x, y, z))