← Все вопросы

TypeError: can only concatenate str (not "int") to str — почему?

Задан 11 месяцев назад1.2к просмотров3 ответа
13
age = 25
print('Мне ' + age + ' лет')

Ошибка TypeError: can only concatenate str (not "int") to str. Как вставить число в строку?

3 ответа

20
✓ Принятый ответ — помог автору

Через f-строку: f'Мне {age} лет'.

Данил Макаров f-строки топ, спасибо! · 11 месяцев назад
8

Плюсом в питоне можно склеивать только строку со строкой — число он сам не превратит. Варианты:

f'Мне {age} лет'          # лучший
'Мне ' + str(age) + ' лет'  # явно привести к строке
'Мне {} лет'.format(age)

f-строка предпочтительнее: короче и сама зовёт str() для подстановки. Обратная ситуация ('5' + 5) даёт ту же ошибку — там наоборот, строку надо привести к числу через int(), если хочешь сложить.

4

str(age) обернуть, если хочешь именно плюсом.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект