diff --git a/lesson_9/home_task/task29.py b/lesson_9/home_task/task29.py new file mode 100644 index 0000000..928d364 --- /dev/null +++ b/lesson_9/home_task/task29.py @@ -0,0 +1,14 @@ +#todo: Вы получаете из API список пользователей, +# но нужно отфильтровать и преобразовать данные перед загрузкой в базу. +# Создайте список email-адресов только для активных пользователей старше 18 лет. +# Задачу следует решить с использованием списковых включений + +users = [ + {"name": "alice", "email": "alice@example.com", "age": 25, "active": True}, + {"name": "bob", "email": "bob@example.com", "age": 17, "active": True}, + {"name": "charlie", "email": "charlie@example.com", "age": 30, "active": False}, + {"name": "diana", "email": "diana@example.com", "age": 16, "active": True} +] + +#Результат +['alice@example.com'] \ No newline at end of file diff --git a/lesson_9/home_task/task30.py b/lesson_9/home_task/task30.py new file mode 100644 index 0000000..997f2ed --- /dev/null +++ b/lesson_9/home_task/task30.py @@ -0,0 +1,6 @@ +# todo: Вы работаете с данными цен товаров, которые приходят в разном формате. +# Создайте список числовых значений цен, игнорируя некорректные записи. +# Все цены переведите в рубли. Задачу следует решить с использованием списковых включений. + +prices = ["₽1500", "20.50 USD", "invalid", "€25.00", "$15.99", "18.99", "N/A", "¥5000"] + diff --git a/lesson_9/home_task/task31.py b/lesson_9/home_task/task31.py new file mode 100644 index 0000000..be054f7 --- /dev/null +++ b/lesson_9/home_task/task31.py @@ -0,0 +1,13 @@ +# todo: Извлеките IP-адреса всех запросов, которые завершились с ошибкой +# (коды ответа 4xx или 5xx). + +log_entries = [ + "192.168.1.1 - GET /home 200 1.2s", + "192.168.1.2 - POST /login 404 0.8s", + "192.168.1.3 - GET /profile 500 2.1s", + "192.168.1.4 - GET /about 200 0.5s", + "192.168.1.5 - POST /submit 403 1.5s" +] + +#Результат: +['192.168.1.2', '192.168.1.3', '192.168.1.5'] diff --git a/lesson_9/home_task/task32.py b/lesson_9/home_task/task32.py new file mode 100644 index 0000000..c0106e8 --- /dev/null +++ b/lesson_9/home_task/task32.py @@ -0,0 +1,13 @@ +#todo: Вы пишете скрипт для очистки временных файлов. Создайте список полных путей к временным файлам (с расширениями .tmp, .bak), +# добавив к каждому путь "/tmp/". +files = [ + "document.pdf", + "temp_backup.tmp", + "image.jpg", + "cache.tmp", + "report.docx", + "old_data.bak" +] + +# результат: +['/tmp/temp_backup.tmp', '/tmp/cache.tmp', '/tmp/old_data.bak'] \ No newline at end of file diff --git a/lesson_9/home_task/task33.py b/lesson_9/home_task/task33.py new file mode 100644 index 0000000..0047a29 --- /dev/null +++ b/lesson_9/home_task/task33.py @@ -0,0 +1,6 @@ +# todo: Flask App https://daehnhardt.com/blog/2025/02/11/todo-flask-app/ +# Расширьте приложение и добавьте него поля ввода: +# description - описание задачи +# start_date - когда начать задачу +# При добавлении двух дополнительных полей откорректируйте структуру таблицы, +# запросы на сохранение данных и шаблон вывода-вывода. \ No newline at end of file diff --git a/lesson_9/manual/lection_10_generator.pdf b/lesson_9/manual/lection_10_generator.pdf new file mode 100644 index 0000000..ad6f5a1 Binary files /dev/null and b/lesson_9/manual/lection_10_generator.pdf differ