Перебор через 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 в начале программы и больше нигде его не меняете. Варианта два:
Менять
list_keysпосле ввода пользователя.Использовать такой цикл для вывода книги:
(Этот способ лучше тем, что экономит память.)
for key in PhoneBook:
print(key, ':', PhoneBook [key])