Собираем всё вместе
Часть раздела Logic & Flow путешествия по Python на Coddy. Урок 23 из 78.
Задание
ЛегкоТеперь, когда вы создали все отдельные функции для Контактной книги, пришло время собрать их вместе, чтобы создать полноценную программу!
Ваша задача:
- Объедините созданные вами функции:
display_menu: Отображает варианты меню для пользователя.add_contact: Добавляет новый контакт в Контактную книгу.view_contact: Отображает данные конкретного контакта.edit_contact: Обновляет информацию о существующем контакте.delete_contact: Удаляет контакт из Контактной книги.list_all_contacts: Отображает все контакты в Контактной книге.
- Создайте словарь с именем
contact_bookдля хранения контактов. - Напишите цикл, который:
- Отображает меню с помощью
display_menu. - Принимает ввод пользователя для выбора пункта меню.
- Вызывает соответствующую функцию в зависимости от выбора пользователя.
- Выводит
"Invalid choice. Please try again.", если пользователь вводит вариант, который не входит в число допустимых пунктов меню. - Продолжается до тех пор, пока пользователь не выберет вариант выхода из программы.
- Отображает меню с помощью
Ожидаемое поведение:
При запуске программа должна:
- Показывать меню опций для выбора пользователем.
- Позволять пользователю взаимодействовать с Контактной книгой, вызывая соответствующую функцию.
- Выводить "Invalid choice. Please try again.", когда пользователь вводит нераспознанный вариант.
- Чисто завершать работу программы, когда пользователь выбирает опцию "Exit".
Этот последний шаг объединяет все полученные вами знания в полностью функционирующее приложение «Контактная книга». Наслаждайтесь результатом своей упорной работы! 🎉
Попробуйте сами
def display_menu():
print("Contact Book Menu:")
print("1. Add Contact")
print("2. View Contact")
print("3. Edit Contact")
print("4. Delete Contact")
print("5. List All Contacts")
print("6. Exit")
def add_contact(contact_book):
name = input()
if name in contact_book:
print("Contact already exists!")
return
phone = input()
email = input()
address = input()
contact_book[name] = {"phone": phone, "email": email, "address": address}
print("Contact added successfully!")
def view_contact(contact_book):
name = input()
if name in contact_book:
contact = contact_book[name]
print(f"Name: {name}")
print(f"Phone: {contact['phone']}")
print(f"Email: {contact['email']}")
print(f"Address: {contact['address']}")
else:
print("Contact not found!")
def edit_contact(contact_book):
name = input()
if name in contact_book:
phone = input()
email = input()
address = input()
if phone == '':
phone = contact_book[name]['phone']
if email == '':
email = contact_book[name]['email']
if address == '':
address = contact_book[name]['address']
contact_book[name] = {"phone": phone, "email": email, "address": address}
print("Contact updated successfully!")
else:
print("Contact not found!")
def delete_contact(contact_book):
name = input()
if name in contact_book:
del contact_book[name]
print("Contact deleted successfully!")
else:
print("Contact not found!")
def list_all_contacts(contact_book):
if not contact_book:
print("No contacts available.")
else:
for name, details in contact_book.items():
print(f"Name: {name}")
print(f"Phone: {details['phone']}")
print(f"Email: {details['email']}")
print(f"Address: {details['address']}")
print() # Blank line between contacts for readability
Все уроки раздела Logic & Flow
1Изучение переменных
КонстантыМножественное присваиваниеОбмен значениями переменныхПеременные-заполнителиОкругление чиселПриведение к списку4Приложение «Книга контактов»
Показать менюДобавить контакт7Множества. Часть 2
Математические операции. Часть 1Математические операции. Часть 2Повторение — Охота за сокровищамиПодмножества и надмножестваИтерация по множествамПовторение — Трекер турнира10Базовые генераторы списков
СинтаксисСоздание простых списковДобавление условийИспользование агрегации данныхПовторение — Дом списковПовторение — Элементы свободы13Система управления запасами
Обзор проектаДобавление товара2Словари. Часть 1
Что такое словарь?Создание словаряДоступ к значениямИзменение словарейИтоги — Менеджер рецептов5Продвинутое принятие решений
Тернарный операторПроверка вхожденияПроверка идентичностиОшибки отступовПовторение — Фильтр отпусков8Менеджер записей студентов
Обзор проектаДобавить студента11Продвинутые функции
Возврат нескольких значенийLambda-функции. Часть 1Lambda-функции. Часть 2Задача на повторение — Lambda-сортировкаРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного списка14Функции высшего порядка
Функция mapФункция filterПовторение — Валидатор emailПовторение — Обработчик чисел3Словари. Часть 2
Методы словарейВложенные словариПроверка наличия ключейПеребор словарей в циклеПовторение: счетчик частоты6Множества. Часть 1
Что такое множество?Основные операцииМетоды множествПовторение — удаление дубликатов9Продвинутая агрегация данных
Использование SumПоиск минимума и максимумаЭффективная сортировка данныхПовторение — Dictionary SorterПотренируйтесь самостоятельно: Онлайн-компилятор Python