У вас есть файл с протоколом регистраций пользователей на сайте — 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
75500login-checkМодуль 23. Задача 4. Регистрация
