Задания для самостоятельного выполнения

Сложность:
Rare
  1. Решите задачу своего варианта.
  2. К генератору должна быть применена хотя бы одна из функций map, reduce, filter.
  3. Оформите отчёт в README.md. Отчёт должен содержать:
    • Условия задач
    • Описание проделанной работы
    • Скриншоты результатов
    • Ссылки на используемые материалы

Сложность:
Medium
  • Напишите для генератора тесты с помощью pytest

Сложность:
Well-done
  • Реализуйте многопоточную/параллельную версию генератора. Продемонстрируйе повышение производительности относительно исходной версии.

Варианты заданий

  1. Генератор случайных чисел в заданном диапазоне. Не используйте готовые реализации ГПСЧ. Отфильтруйте вывод генератора, чтобы он не содержал чисел с числом делителей больше n.

  2. Генератор для построчного чтения файла. Если длина строки превышает заданный предел - возвращает подстроку допустимого размера. Переверните слова в строках, возращаемых генератором.

  3. Генератор простых чисел. Просуммируйте возвращаемые числа.

  4. Генератор цифр числа \( \pi \). Поделите каждую цифру на её квадрат и найдите сумму этих значений.

  5. Генератор, который обращается к внешнему API и возвращает результаты запросов. Накопите результаты за определённый промежуток времени и сохраните в файл.

  6. Генератор, создающий пароли по определённым правилам. Инвертируйте регистр букв в выводе генератора.

  7. Генератор для объединения последовательностей по заданной стратегии. Сверните возвращемые последовательности в зависимости от типа данных в них.

  8. Генератор, применяющий заданную функцию к каждому элементу последовательности N раз. Верните только те элементы, которые изменились значительно (зависит от N и типа данных).

  9. Попискельный генератор для растровых изображений. Инвертируйте цвета пикселов.

  10. Генератор, который обходит файловую систему в указанном каталоге и возвращает имена файлов с заданным расширением. Предусмотреть возможность обхода подкаталогов. Переименуйте найденные файлы.

  11. Генератор, создающий все возможные уникальные комбинации элементов из нескольких последовательностей. Подсчитайте число комбинаций.

  12. Генератор, который обходит элементы матрицы по спирали, начиная с центра в указанном направлении (не все матрицы можно так обойти). Получите только те элементы, чётность которых совпадает с чётностью суммы их индексов.