Неподдерживаемый тип (-ы) операндов для +: 'int' и 'str'
В настоящее время я изучаю 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'
Ответы
Ответ 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)))
.