Перебор через for in не выводит правильно значение в словаре

Я хотела создать программу "контакты" где можно будет посмотреть список контактов и добавить, также я добавила словарь в список для сортировки от А до Я, но в итоге при переборе новый контакт не отображает ключ. Прошу укажите мне на мою ошибку и что именно я сделала не так

PhoneBook = { 'Алина' : +72766137482, 'Максим' : +79926336090, 'Валерий' : +70526331234, 'Ксения' : 
+79679651228, }

#Сортировка словаря
list_keys = list(PhoneBook.keys())
list_keys.sort()

#Выбор действий
print('Доступные команды:\nПосмотреть, добавить, изменить, удалить, выход\n')
Inp = input()


if Inp.lower() == 'посмотреть':
    for i in list_keys:
        print(i, ':', PhoneBook[i])

elif Inp.lower() == 'добавить':
    print('\nВведите имя контакта\n')
    InpContact = input()
    print('\nВведите номер контакта\n')
    InpPhone = input()
    PhoneBook[InpContact] = InpPhone
    #Проблема вот в этом переборе:
    for i in list_keys:
        print(i, ':', PhoneBook[i])

Ответы (1 шт):

Автор решения: n1tr0xs

Вы создаёте список list_keys в начале программы и больше нигде его не меняете. Варианта два:

  1. Менять list_keys после ввода пользователя.

  2. Использовать такой цикл для вывода книги:

(Этот способ лучше тем, что экономит память.)

for key in PhoneBook:
    print(key, ':', PhoneBook [key])
→ Ссылка