Создайте модуль с функцией внутри. Функция принимает на вход три целых числа: нижнюю и верхнюю границу и количество попыток. Внутри генерируется случайное число в указанных границах и пользователь должен угадать его за заданное число попыток. Функция выводит подсказки “больше” и “меньше”. Если число угадано, возвращается истина, а если попытки исчерпаны - ложь.
Улучшаем задачу 2. Добавьте возможность запуска функции “угадайки” из модуля в командной строке терминала. Строка должна принимать от 1 до 3 аргументов: параметры вызова функции. Для преобразования строковых аргументов командной строки в числовые параметры используйте генераторное выражение.
Создайте модуль с функцией внутри. Функция получает на вход загадку, список с возможными вариантами отгадок и количество попыток на угадывание. Программа возвращает номер попытки, с которой была отгадана загадка или ноль, если попытки исчерпаны.
Добавьте в модуль с загадками функцию, которая хранит словарь списков. Ключ словаря - загадка, значение - список с отгадками. Функция в цикле вызывает загадывающую функцию, чтобы передать ей все свои загадки.
Добавьте в модуль с загадками функцию, которая принимает на вход строку (текст загадки) и число (номер попытки, с которой она угадана). Функция формирует словарь с информацией о результатах отгадывания. Для хранения используйте защищённый словарь уровня модуля. Отдельно напишите функцию, которая выводит результаты угадывания из защищённого словаря в удобном для чтения виде. Для формирования результатов используйте генераторное выражение.
Создайте модуль и напишите в нём функцию, которая получает на вход дату в формате DD.MM.YYYY и возвращает истину, если дата может существовать или ложь, если такая дата невозможна. Для простоты договоримся, что год может быть в диапазоне [1, 9999]. И весь период действует григорианский календарь. Проверку года на високосность вынести в отдельную защищённую функцию.
Объедините студентов в команды по 2-5 человек в сессионных залах. Создайте пакет с всеми модулями, которые вы создали за время занятия. Добавьте в init пакета имена модулей внутри дандер all. В модулях создайте дандер all и укажите только те функции, которые могут верно работать за пределами модуля.