【问题标题】:Unsupported operand type(s) for +: 'int' and 'str' [duplicate]+ 不支持的操作数类型:“int”和“str”[重复]
【发布时间】:2013-12-24 19:34:46
【问题描述】:

我目前正在学习 Python,所以我不知道发生了什么。

num1 = int(input("What is your first number? "))
num2 = int(input("What is your second number? "))
num3 = int(input("What is your third number? "))
numlist = [num1, num2, num3]
print(numlist)
print("Now I will remove the 3rd number")
print(numlist.pop(2) + " has been removed")
print("The list now looks like " + str(numlist))

当我运行程序时,输入 num1、num2 和 num3 的数字,它会返回: Traceback(最近一次调用最后一次):

TypeError: unsupported operand type(s) for +: 'int' and 'str'

【问题讨论】:

    标签: python python-3.x list int


    【解决方案1】:

    你试图连接一个字符串和一个整数,这是不正确的。

    print(numlist.pop(2)+" has been removed") 更改为以下任何一个:

    int 显式转换为str

    print(str(numlist.pop(2)) + " has been removed")
    

    使用, 代替+

    print(numlist.pop(2), "has been removed")
    

    字符串格式:

    print("{} has been removed".format(numlist.pop(2)))
    

    【讨论】:

      【解决方案2】:

      试试,

      str_list = " ".join([str(ele) for ele in numlist])

      此语句将以string 格式为您提供列表中的每个元素

      print("The list now looks like [{0}]".format(str_list))

      和,

      print(numlist.pop(2)+" has been removed") 更改为

      print("{0} has been removed".format(numlist.pop(2)))

      也是。

      【讨论】:

      • str(numlist) 确实 not 导致异常(即使它可能不是 OP 所追求的)。
      猜你喜欢
      • 2011-11-29
      • 1970-01-01
      • 1970-01-01
      • 2020-05-25
      • 1970-01-01
      • 2013-08-18
      • 2022-07-27
      • 2016-04-15
      • 2012-11-29
      相关资源
      最近更新 更多