Перейти к содержанию

Итераторы и функция next()

Итерация - повторение какого-то действия.

Итератор - объект, который позволяет перебирать элементы контейнера.

Протокол итератора - механизм взаимодействия с итератором:

  1. Передаем функции iter() итерируемый объект. Функция вернет итератор.
  2. Передаем полученный итератор в функцию next()
  3. Когда элементы итерируемого объекта закончились, получаем ошибку StopIteration

Документация:

Протокол итератора

Обработка ошибок

Задание: Итератор по кубам чисел.

  • Напишите функцию small_cubes(lst), которая принимает в качестве аргумента список целых чисел
  • С помощью цикла while записывайте в новый список квадраты этих чисел пока не получите число больше 100, или список не иссякнет
    • Используйте функции 'iter()' и next(), чтобы перебирать элементы списка.
    • Ошибку StopIteration придется обработать в try-except блоке
  • Верните полученный список
Загрузка тренажера...