УВАГА! Це індивідуальне завдання. Виконуйте самостійно.
Це індивідуальне домашнє завдання з об'єктно-орієнтованого програмування на Python. Вам потрібно реалізувати систему управління адресною книгою з контактами та телефонними номерами.
У файлі main.py потрібно доповнити наступні класи:
- Повинен наслідуватися від класу
Field - Зберігає ім'я контакту
- Повинен наслідуватися від класу
Field - Зберігає номер телефону
- ВАЖЛИВО: Повинен валідувати номер телефону (рівно 10 цифр)
- Викидає
ValueErrorдля невалідних номерів
Реалізувати методи:
add_phone(phone)- додати телефонremove_phone(phone)- видалити телефонedit_phone(old_phone, new_phone)- редагувати телефонfind_phone(phone)- знайти телефон (повертає об'єкт Phone або None)
- Повинен наслідуватися від
UserDict - Реалізувати методи:
add_record(record)- додати записfind(name)- знайти запис за ім'ямdelete(name)- видалити запис
python main.pypython check_homework.py- Запустіть
python check_homework.py - Зелені повідомлення ✅ = тест пройшов
- Червоні повідомлення ❌ = потрібно виправити
- Сині повідомлення 🔧 = помилки в коді (перевірте синтаксис)
Після правильної реалізації код повинен виводити:
Contact name: John, phones: 1234567890; 5555555555
Contact name: Jane, phones: 9876543210
Contact name: John, phones: 1112223333; 5555555555
John: 5555555555
Валідні номери:
"1234567890"✅"0504567890"✅
Невалідні номери:
"12345abcde"❌ (містить літери)"050456789"❌ (9 цифр)"05045678901"❌ (11 цифр)
- Наслідування: Не забудьте
class Name(Field):таclass Phone(Field): - Валідація: У
Phone.__init__()перевіряйте, що номер складається з 10 цифр - UserDict:
AddressBookповинен наслідуватися відUserDict, використовуйтеself.data - Помилки: Якщо тести показують сині повідомлення - перевірте синтаксис коду
💡 Підказка: Почніть з простих класів Name та Phone, потім переходьте до Record та AddressBook