(*) Необходимо, заменив минимальное кол-во чисел в списке, сделать его арифметической прогрессией, например:
{ 1, 16, 4, 10, 7, 11, 1, -2 } → { 19, 16, 13, 10, 7, 4, 1, -2 } (заменены 3 элемента)
В случае нескольких подходящих вариантов замены минимального кол-ва элементов можно использовать любой.
Подсказка: необходимо для каждой пары элементов списка посчитать, сколько элементов списка придется изменить, не меняя выбранную пару элементов, чтобы список стал арифметической прогрессией (очевидно, что в целых числах некоторые пары элементов сразу же не будут подходить для построения арифметической прогрессии; например, для приведенного примера в качестве опорной пары не подходят числа 4 и 7, т.к. между ними не может быть дробного числа 5,5).
Осуществить циклический сдвиг столбцов или строк (указывается отдельно) двумерного массива на n позиций.
Для набора треугольников, заданных тремя вершинами, найти такие, которые полностью лежат строго в одной четверти (на координатной сетке) – неважно в какой из 4-х, главное, что в одной. Треугольник описывает как три точки (отдельный тип – структура или класс), каждая точка – как две координаты (отдельный тип – структура или класс).
(*) Примитивная система исправления орфографических ошибок. Задается текст, потенциально содержащий орфографические ошибки, и набор корней слов (в виде массива или списка слов). Если какой-либо фрагмент текста, отличается от какого-либо корня одним символом, то заменить этот фрагмент на соответствующий корень слова. Пример ("Карова дает малако каторае пъут дэти", {"молок", "коров", "апельсин", "котор", "дети"}) –> "Корова дает малако которае пъут дети".
Данное задание состоит из 2-х частей:
-
Реализовать любую из своих предыдущих задач с использованием итераторов (реализовать свой собственный итератор/генератор).
-
Реализовать любую из своих предыдущих задач с использованием декораторов (реализовать свой собственный декоратор).
Логические игры В задаче обязательно реализовать логику игры в виде отдельного класса Game. Оформление игры может быть максимально простым (допустим, не надо плавных перемещений шариков с клетки на клетку, каких-либо визуальных эффектов, звукового сопровождения и т.п.). Элементы – просто цветные кружки / кубики / обычные цифры и т.д. в зависимости от варианта. Выделение элемента (если нужно) – изменение цвета фона ячеек игрового поля. (В любом случае все это не относится к логике игры.) Для большинства игр никаких уровней (для некоторых игр можно сделать 1-2 уровня, которые описываются в отдельных файлах) и т.д. Оконный интерфейс должен быть реализован c помощью библиотеки PyQt5. Кроме главной формы необходимо предусмотреть, как минимум, еще две формы: 1) форму с возможностью задания настроек игры (например, размеры игрового поля, используемые цвета и т.п.), 2) форму с описанием правил игры (описание может быть в виде html). Во многих играх, приведенных в вариантах задач в виде примера, кроме центральной идеи, есть различные, так скажем, расширения-исключения. Вот этого всего реализовывать также не надо. Обязательным является использование @property, @staticmethod/@classmethod (в данной задаче, вероятно, все же @staticmethod). 13. http://igroflot.ru/logic/flash_game_2993/
- Блог с использованием Markup-разметки (поддержка основных html-тэгов). Делать все на flask (но допускаются и другие web-фрейморки).
- Визуализация ленты Мебиуса.
Задачи на моделирование.
Обязательным требованием является реализация задачи в среде jupyter. В jupyter-
notenook должны быть ячейки не только кода, но и markdown-ячейки с сформулированным
(достаточно подробно) условием задачи и комментариями по ходу решения.
По желанию можно использовать numpy и scipy (будет плюсом).
Установка и использование jupyter-notenook(Windows):
- В командной строке перейти к каталогу с Python. Например: cd C:\Python37
- Выполнить python -m pip install --upgrade pip
- Выполнить python -m pip install jupyter и дождаться завершения установки
- Перейти в командой строке к каталогу с задачами Например: cd D:\Tasks\Python\Task8
- Выполнить команду <путь к python>\Scripts\jupyter-notebook.exe Например: C:\Python37\ Scripts\jupyter-notebook.exe Можно также создать ярлык запуска jupyter-notebook с указанием нужной рабочей директории.