практикум · Python

Python: валидация данных

Напишешь проверки почты, пароля, IP-адреса и номера карты. Объединишь проверки полей в проверку формы заказа.

Для старта: Знаешь строки, условия и функции Python

  • Python
  • 2 модуля
  • 5 задач
  • 4 задачи бесплатно

После регистрации откроется программа этого пути.

результаты практики

что освоишь на практике

Автор программы:
  • Проверять формат email без regex-библиотек: одна @, непустая локальная часть, домен с точкой
  • Возвращать список кодов проблем пароля в предсказуемом порядке, а не первую попавшуюся ошибку
  • Разбирать IPv4-адрес в список чисел и явно выбрасывать ValueError с понятным сообщением
подробнее о пути и навыках

что получится

Пять задач на валидацию пользовательского ввода без сторонних библиотек. Пак «Поля формы» (бесплатный) — email по формальным признакам, коды проблем пароля в фиксированном порядке, разбор IPv4 с ValueError на кривом формате и проверка номера карты алгоритмом Луна. Пак «Композиция проверок» (premium) — validate_order, собранная из трёх отдельных помощников на поля name, qty и email. Каждое решение проверяется на скрытых наборах данных.

Для кого

Для тех, кто уже знает строки, условия и функции Python и хочет закрыть тему валидации: где начинается регулярное выражение, а где хватает split и проверки символов. Уровень базовый — задачи компактные и не требуют предварительного курса.

что ещё отработаешь

  • Реализовывать алгоритм Луна: удвоение через цифру и сумма, кратная 10
  • Раскладывать составную проверку формы на независимые функции-помощники
  • Собирать словарь ошибок по полям вместо одного общего булева результата
программа

программа пути

Выбирай тему, которую хочешь закрепить. Задачи самостоятельны: каждую можно решить отдельно.

5 задач · 2 модуля
1.1
Проверка адреса почты
Проверьте, выглядит ли строка как корректный email: один @, непустая локальная часть, домен с точкой
1.2
Слабые места пароля
Верните список кодов проблем пароля в фиксированном порядке: too_short, no_digit, no_upper, no_lower
решить без регистрации
1.3
Проверка IPv4
Разберите IPv4-адрес в список из четырёх int или выбросьте ValueError('invalid ipv4') при нарушении формата
1.4
Контроль номера карты (Луна)
Проверьте номер банковской карты алгоритмом Луна: удвоение каждой второй цифры справа, сумма кратна 10
2.1
Проверка формы заказа
Реализуйте три помощника и validate_order, которая собирает словарь ошибок по полям name, qty, email
доступ к полной программе Платные модули этого пути входят в Premium. Условия подписки можно посмотреть на странице тарифов. от 490 ₽ / мес посмотреть тарифы первые 4 задач — бесплатно, без карты
первый шаг в этом пути

начни с задачи «Проверка адреса почты»

После регистрации откроется путь «Python: валидация данных». Выбери модуль «Поля формы»: редактор и проверка доступны на странице задачи.

4 задачи бесплатно

начать бесплатно

После регистрации откроется программа этого пути.

другие пути на этом языке