Найти в Дзене
Flask. Часть 2
В endpoint /registration добавьте все валидаторы, о которых говорилось в последнем видео: Довольно неудобно использовать встроенный валидатор NumberRange для ограничения числа по его длине. Создадим свой для поля phone. По своей сути валидатор — это функция, которая на вход принимает форму и поле, а в случае ошибки валидации выкидывает ValidationError. Для каждого поля и валидатора в endpoint /registration напишите юнит-тест, который проверит корректность работы валидатора. Таким образом, нужно...
6 месяцев назад
Основы CI
Мы кое-что забыли проверить, когда писали тест test_can_get_correct_username_with_weekdate: добавьте проверку корректности вернувшегося дня недели. Это важное дополнение, которое позволит убедиться в правильности работы функции и предотвратить возможные ошибки в будущем. Мы призываем всех участников проекта уделить внимание этой задаче и обеспечить высокое качество нашего продукта. Тесты: Чтобы повысить уровень доверия Пети к нашему дешифратору из предыдущего модуля, напишите тесты на все проверки, которые есть в задании...
104 читали · 7 месяцев назад
Основы Linux
Чтобы работать с Flask-приложениями, необходимо обладать базовыми навыками работы в Linux-системах. С помощью команды ps можно посмотреть список запущенных процессов. С флагами aux эта команда выведет информацию обо всех процессах, запущенных в системе. Запустите эту команду и сохраните выданный результат в файл: $ ps aux > output_file.txt Столбец RSS показывает информацию о потребляемой памяти в байтах. Напишите функцию get_summary_rss, которая на вход принимает путь до файла с результатом выполнения команды ps aux, а возвращает суммарный объём потребляемой памяти в человекочитаемом формате...
8 месяцев назад
Flask. Часть 1
Учимся запускать веб-сервер с несколькими endpoints, отправляющими пользователю разные данные. Разработайте веб-сервер, возвращающий страницы по следующим адресам: /hello_world /cars /cats /get_time/now /get_time/future /get_random_word /counter Создайте страницу с текстом «Привет, мир!». Создайте страницу, возвращающую список машин через запятую: Chevrolet, Renault, Ford, Lada. Создайте страницу с названием случайной породы кошек из следующего списка: корниш-рекс, русская голубая, шотландская вислоухая, мейн-кун, манчкин...
8 месяцев назад
Основы Python. Часть 17
Для макетов веб-страниц часто используется какой-нибудь текст-рыба — это условный, зачастую бессмысленный текст-заполнитель. Напишите программу, которая обрабатывает этот текст и выводит список слов, состоящих ровно из четырёх букв. В России для транспорта применяются регистрационные знаки нескольких видов. Общее в них то, что они состоят из цифр и букв. Причём используются только 12 букв кириллицы, имеющих графические аналоги в латинском алфавите: А, В, Е, К, М, Н, О, Р, С, Т, У и Х. У частных...
9 месяцев назад
Основы Python. Часть 16
Даны три списка: floats: List[float] = [12.3554, 4.02, 5.777, 2.12, 3.13, 4.44, 11.0001] names: List[str] = ["Vanes", "Alen", "Jana", "William", "Richards", "Joy"] numbers: List[int] = [22, 33, 10, 6894, 11, 2, 1] Напишите код, который создаёт три новых списка. Вот их содержимое: Помните, как нам приходилось что-то выдумывать, чтобы создать аналог функции zip? Так вот, теперь вы знаете, как это сделать буквально в одну строку. Даны список букв (letters) и список цифр (numbers). Каждый список состоит из N элементов...
9 месяцев назад
Основы Python. Часть 15
На вас возложили задачу по созданию и поддержке специализированного сайта-форума. Вы только начали выполнять задачу и сейчас остановились на реализации действий, которые могут совершать посетители форума. И конечно же, для разных пользователей прописаны разные возможности. Напишите декоратор check_permission, который проверяет, есть ли у пользователя доступ к вызываемой функции, и если нет, то выдаёт исключение PermissionError. При работе с сетью и веб-сервисами иногда используется функция callback, так называемая функция обратного вызова...
9 месяцев назад
Основы Python. Часть 14
Реализуйте модернизированную версию контекст-менеджера File: Ирина использует в своей программе очень много различных математических вычислений, связанных с фигурами. Например, нахождение их площадей или периметров. Поэтому, чтобы не захламлять код огромным количеством функций, она решила выделить для них отдельный класс, подключить как модуль и использовать по аналогии с модулем math. Реализуйте класс MyMath, состоящий как минимум из следующих методов (можете бонусом добавить и другие методы): Реализуйте класс Date, который должен: Оба метода должны получать на вход строку вида dd-mm-yyyy...
9 месяцев назад
Основы Python. Часть 13
Ваня что-то совсем заскучал на работе и решил побаловаться с кодом проекта. Он написал надоедливый декоратор, который при вызове декорируемой функции спрашивает у пользователя «Как дела?», вне зависимости от ответа отвечает что-то вроде «А у меня не очень!» и только потом запускает саму функцию. Правда, после такой выходки его чуть не уволили с работы. Реализуйте такой же декоратор и проверьте его работу на нескольких функциях. В программировании иногда возникает ситуация, когда работу функции нужно замедлить...
9 месяцев назад
Основы Python. Часть 12
Пользователь вводит число N. Напишите программу, которая генерирует последовательность из квадратов чисел от 1 до N (1 ** 2, 2 ** 2, 3 ** 2 и так далее). Реализацию напишите тремя способами: класс-итератор, функция-генератор и генераторное выражение. Реализуйте функцию gen_files_path, которая рекурсивно проходит по всем каталогам указанной директории (по умолчанию — корневой диск), находит указанный пользователем каталог и генерирует пути всех встреченных файлов. Реализуйте функцию-генератор, которая...
9 месяцев назад
Основы Python. Часть 11
Подпишись, если не сложно) Реализуйте иерархию классов, описывающих имущество налогоплательщиков. Она должна состоять из базового класса Property и производных от него классов Apartment, Car и CountryHouse. Базовый класс должен иметь атрибут worth (стоимость), который передаётся в конструктор, и метод расчёта налога, переопределённый в каждом из производных классов. Налог на квартиру вычисляется как 1/1000 её стоимости, на машину — 1/200, на дачу — 1/500. Каждый дочерний класс должен иметь конструктор с одним параметром, передающий свой параметр конструктору базового класса...
9 месяцев назад
Основы Python. Часть 10
Вы работаете в команде разработчиков мобильной игры, и вам досталась такая часть от ТЗ заказчика: Есть два юнита, каждый из них называется «Воин». Каждому устанавливается здоровье в 100 очков. Они бьют друг друга в случайном порядке. Тот, кто бьёт, здоровье не теряет. У того, кого бьют, оно уменьшается на 20 очков от одного удара. После каждого удара надо выводить сообщение, какой юнит атаковал и сколько у противника осталось здоровья. Как только у кого-то заканчивается ресурс здоровья, программа завершается сообщением о том, кто одержал победу...
9 месяцев назад