← Все вопросы

TypeError: 'int' object is not iterable — что это значит?

Задан 18 месяцев назад1.3к просмотров3 ответа
14

Запускаю код, питон ругается:

n = 5
for x in n:
    print(x)
TypeError: 'int' object is not iterable

Что я делаю не так?

3 ответа

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

Ты пытаешься перебрать в цикле число, а по числу итерироваться нельзя — оно не последовательность. Питон может пройтись по списку, строке, кортежу, множеству, словарю, по результату range(), но не по одиночному int.

Если надо повторить что-то 5 раз — оберни число в range():

n = 5
for x in range(n):
    print(x)   # 0 1 2 3 4

А если у тебя на самом деле должен быть список чисел — проверь, что переменная действительно список, а не одно число (частая причина — n = 5 вместо n = [5], или функция вернула не то, что ты ждёшь).

Олег Камаров а если int пришёл из input — там тоже эта ошибка вылазит, кстати · 18 месяцев назад
Артём Кондратович спасибо, дошло, нужен был range 🙏 · 18 месяцев назад
7

Через range(n), если хотел повторить N раз.

3

Число — не контейнер, перебирать нечего.

Ваш ответ

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