← Все вопросы
TypeError: unsupported operand type(s) for +: 'int' and 'str' — как понять и починить?
12
age = 15
print("Возраст: " + age)
или наоборот total = count + input() — и вылетает unsupported operand type(s) for +: 'int' and 'str'. В чём суть?
3 ответа
24
✓ Принятый ответ — помог автору
Python не складывает число и строку молча. + для двух чисел — это сложение, для двух строк — склейка, а вот «число + строка» неоднозначно, поэтому ошибка.
Решите, что вам нужно:
- Склеить как текст → приведите число к строке:
print("Возраст: " + str(age))
или проще через f-строку: print(f"Возраст: {age}") — тут преобразование само.
- Сложить как числа (частый случай с
input(), который всегда даёт строку) → приведите строку к числу:
total = count + int(input())
Главное — посмотреть на порядок типов в сообщении: 'int' and 'str' подсказывает, кто из операндов какой.
Данил Джалагания f-строки реально спасают от этой ошибки чаще всего. · 16 месяцев назад
7
Просто оберни число в str() если печатаешь, или int() если считаешь. Зависит от того, что хочешь получить — текст или сумму.
-2
Поставь + str(age) и всё. Питон тупой, сам не догадается.
Рустем Берикжан Питон тут как раз не тупой — он намеренно не угадывает, чтобы не было скрытых багов. · 16 месяцев назад
Ваш ответ
Войдите, чтобы ответить на вопрос.