Модуль 23. Задача 4. Регистрация

У вас есть файл с протоколом регистраций пользователей на сайте — registrations.txt. Каждая строка содержит имя, емейл и возраст, разделённые пробелами. Например: «Василий test@test.ru 27«.

Напишите программу, которая проверяет данные из файла для каждой строки:

  • Присутствуют все три поля.
  • Поле «Имя» содержит только буквы.
  • Поле «Имейл» содержит @ и . (точку).
  • Поле «Возраст» является числом от 10 до 99.

В результате проверки сформируйте два файла:

  • registrations_good.log — для правильных данных, записывать строки в том виде, как есть;
  • registrations_bad.log — для ошибочных, записывать строку и вид ошибки.

Для валидации строки данных напишите функцию, которая может выдавать исключения:

  • НЕ присутствуют все три поля: IndexError.
  • Поле «Имя» содержит НЕ только буквы: NameError.
  • Поле «Имейл» НЕ содержит @ и . (точку): SyntaxError.
  • Поле «Возраст» НЕ является числом от 10 до 99: ValueError.

Формат выходных данных

Содержимое файла registrations_bad.log:
Ольга kmrn@gmail.com 123        Поле «Возраст» НЕ является числом от 10 до 99
Чехова kb@gmail.com 142     Поле «Возраст» НЕ является числом от 10 до 99
……
Степан ky 59        Поле «Имейл» НЕ содержит @ и . (точку)
……

Содержимое файла registrations_good.log:
Геннадий ttdababmt@gmail.com 69
Ольга ysbxur@gmail.com 20
……

Решение:

Решение можно скачать с Boosty.to


Как можно отблагодарить:

  • Оформить удобную для вас подписку на Boosty.to
  • Разово поддержать через DonationAlerts
7550login-checkМодуль 23. Задача 4. Регистрация

Добавить комментарий