Что нужно сделать
Мы уже помогали Степану с реализацией телефонной книги на телефоне, однако внезапно оказалось, что книге не хватает ещё одной полезной функции: поиска.
Напишите программу, которая бесконечно запрашивает у пользователя действие, которое он хочет совершить: добавить контакт или найти человека в списке контактов по фамилии.
Действие «добавить контакт»: программа запрашивает имя и фамилию контакта, затем номер телефона, добавляет их в словарь и выводит на экран текущий словарь контактов. Если этот человек уже есть в словаре, то выводится соответствующее сообщение.
Действие «поиск человека по фамилии»: программа запрашивает фамилию и выводит все контакты с такой фамилией и их номера телефонов. Поиск не должен зависеть от регистра символов.
Пример работы программы:
Введите номер действия:
1. Добавить контакт
2. Найти человека
1
Введите имя и фамилию нового контакта (через пробел): Иван Сидоров
Введите номер телефона: 888
Текущий словарь контактов: {('Иван', 'Сидоров'): 888}
Введите номер действия:
1. Добавить контакт
2. Найти человека
1
Введите имя и фамилию нового контакта (через пробел): Иван Сидоров
Такой человек уже есть в контактах.
Текущий словарь контактов: {('Иван', 'Сидоров'): 888}
Введите номер действия:
1. Добавить контакт
2. Найти человека
1
Введите имя и фамилию нового контакта (через пробел): Алиса Петрова
Введите номер телефона: 999
Текущий словарь контактов: {('Иван', 'Сидоров'): 888, ('Алиса', 'Петрова'): 999}
Введите номер действия:
1. Добавить контакт
2. Найти человека
2
Введите фамилию для поиска: Сидоров
Иван Сидоров 888
Введите номер действия:
1. Добавить контакт
2. Найти человека
…….
Что оценивается
- Результат вычислений корректен.
- input содержит корректные приглашения для ввода.
- Формат вывода соответствует примеру.
- Основной функционал (действия) описан в отдельных функциях.
- Переменные и функции имеют значащие имена, не только a, b, c, d
phone_book = dict()
while True:
print('''Введите номер действия:
1. Добавить контакт
2. Найти человека
0. Выйти''')
user_act = int(input())
if user_act == 1:
name = tuple(input('Введите имя контакта: ').split())
tel = input('Введите номер телефона: ')
phone_book[name] = tel
print(f'Текущий словарь: {phone_book}')
if user_act == 2:
search = input('Введите имя: ')
for i in phone_book:
for j in i:
if search.lower() == j.lower():
print(*i, phone_book[i])
if user_act == 0:
break