Тема:
Итераторы и паттерны их применения.
Задание:
- Необходимо написать итератор для генерации случайных чисел по заданным параметрам
- Необходимо написать функцию take, которая принимает любой Iterable объект и возвращает итератор по заданному количеству его элементов
- Необходимо написать функцию filter, которая принимает любой Iterable объект и функцию-предикат и возвращает итератор по элементам которые удовлетворяют предикату
- Необходимо написать функцию enumerate, которая принимает любой Iterable объект и возвращает итератор по парам (номер итерации, элемент)
- Необходимо написать класс Range, который бы позволял создавать диапазоны чисел или символов, а также позволял обходить элементы Range с любого конца
- Необходимо написать функцию seq, которая бы принимала множество Iterable объектов и возвращала итератор по их элементам
- Необходимо написать функцию zip, которая бы принимала множество Iterable объектов и возвращала итератор по кортежам их элементов
- Необходимо написать функцию, которая принимала бы любой Iterable объект и Iterable с функциями и возвращала итератор где каждому элементу левого Iterable последовательно применяются все функции из правого
- Реализована функция
iterRandom
для бесконечной генерации случайных чисел в заданном диапазоне - Реализована функция
iterTake
, которая позволяет взять заданное количество элементов из Iterable - Реализована функция
iterFilter
- Реализована функция
iterEnumerate
- Реализован класс
IterRange
- Реализована функция
iterSeq
, которая на вход принимает множество Iterable и возвращает IterableIterator по всем элементам данного множества - Реализована функция
iterZip
, которая из множества Iterable создает кортежи элементов этого множества - Реализована функция
iterMapSeq
, которая к каждому элементу Iterable последовательно применяет функции второго аргумента