Skip to content

Latest commit

 

History

History

homework-06

Домашнее задание к лекции № 6

Тема:

Итераторы и паттерны их применения.

Задание:

  1. Необходимо написать итератор для генерации случайных чисел по заданным параметрам
  2. Необходимо написать функцию take, которая принимает любой Iterable объект и возвращает итератор по заданному количеству его элементов
  3. Необходимо написать функцию filter, которая принимает любой Iterable объект и функцию-предикат и возвращает итератор по элементам которые удовлетворяют предикату
  4. Необходимо написать функцию enumerate, которая принимает любой Iterable объект и возвращает итератор по парам (номер итерации, элемент)
  5. Необходимо написать класс Range, который бы позволял создавать диапазоны чисел или символов, а также позволял обходить элементы Range с любого конца
  6. Необходимо написать функцию seq, которая бы принимала множество Iterable объектов и возвращала итератор по их элементам
  7. Необходимо написать функцию zip, которая бы принимала множество Iterable объектов и возвращала итератор по кортежам их элементов
  8. Необходимо написать функцию, которая принимала бы любой Iterable объект и Iterable с функциями и возвращала итератор где каждому элементу левого Iterable последовательно применяются все функции из правого

Отчет по работе

  • Реализована функция iterRandom для бесконечной генерации случайных чисел в заданном диапазоне
  • Реализована функция iterTake, которая позволяет взять заданное количество элементов из Iterable
  • Реализована функция iterFilter
  • Реализована функция iterEnumerate
  • Реализован класс IterRange
  • Реализована функция iterSeq, которая на вход принимает множество Iterable и возвращает IterableIterator по всем элементам данного множества
  • Реализована функция iterZip, которая из множества Iterable создает кортежи элементов этого множества
  • Реализована функция iterMapSeq, которая к каждому элементу Iterable последовательно применяет функции второго аргумента