Контакты 3

Что нужно сделать

Мы уже помогали Степану с реализацией телефонной книги на телефоне, однако внезапно оказалось, что книге не хватает ещё одной полезной функции: поиска.

Напишите программу, которая бесконечно запрашивает у пользователя действие, которое он хочет совершить: добавить контакт или найти человека в списке контактов по фамилии.

Действие «добавить контакт»: программа запрашивает имя и фамилию контакта, затем номер телефона, добавляет их в словарь и выводит на экран текущий словарь контактов. Если этот человек уже есть в словаре, то выводится соответствующее сообщение.

Действие «поиск человека по фамилии»: программа запрашивает фамилию и выводит все контакты с такой фамилией и их номера телефонов. Поиск не должен зависеть от регистра символов.

Пример работы программы:

Введите номер действия: 
 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