Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

TypeError простыми словами

TypeError возникает, когда над данными делают то, что для их типа не подходит — например, складывают число с текстом.

Что означает

У каждого значения есть тип: число, строка (текст), список и другие. TypeError значит, что операция не подходит этим типам. Классика — попытка сложить число и строку: Python не знает, сложить их как числа или склеить как текст.

age = input('Возраст: ')   # input даёт строку!
print(age + 1)             # TypeError
print(int(age) + 1)        # правильно: перевели в число

Частые причины

Данные из input() — это всегда строка, и их надо перевести в число через int() или float(). Ещё причины: вызвали как функцию то, что функцией не является, или передали не тот тип аргумента.

Как исправить

Прочитайте, какие типы столкнулись (в сообщении есть 'int' и 'str' и т.п.). Приведите данные к нужному типу: int() — в целое число, str() — в текст, float() — в дробное. Проверяйте тип функцией type(), если сомневаетесь.

Частые вопросы

Почему input всегда строка? Так задумано; переводите в число через int()/float() при необходимости.

Как узнать тип значения? Напечатайте type(значение) — Python покажет его тип.

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание