В коде Марины есть несколько аспектов, которые можно улучшить и исправить. Давайте разберем ее программу и внесем необходимые изменения, чтобы создать корректный телефонный справочник.
Исходный код:
friends = {}
i = 0
while i < 3:
a = input("Введи имя")
b = input("Введи телефон")
friends[a] = b
print(friends)
1. Проблемы в коде:
- Программа ограничивает количество вводимых контактов до трех, но переменная
iне увеличивается, из-за чего возникает бесконечный цикл. - Также, возможно, будет полезно сделать ввод более удобным и добавить возможность повторного ввода, если пользователь допустил ошибку при вводе.
2. Исправленный код:
Для того чтобы исправить код, давайте увеличим значение i в каждой итерации цикла и добавим небольшие улучшения:
friends = {}
i = 0
n = 3 # Количество контактов для ввода
while i < n:
a = input("Введи имя: ") # Добавили пропуск перед двоеточием для удобства
b = input("Введи телефон: ") # То же самое здесь
friends[a] = b
i += 1 # Увеличиваем счетчик на 1 после каждого ввода
print(friends) # Печатаем словарь после добавления нового контакта
# Печатаем итоговый словарь
print("Итоговый телефонный справочник:")
print(friends)
3. Объяснение:
- Переменная
n: Мы создали переменнуюn, которая определяет, сколько контактов мы хотим ввести. Это делает код более понятным. - Увеличение счетчика: Каждую итерацию цикла мы увеличиваем переменную
iна 1 с помощьюi += 1. Это позволяет выйти из цикла после введения трех контактов. - Ввод данных: Мы добавили пробел перед двоеточием в сообщениях запроса, чтобы сделать их более читаемыми.
- Итоговый вывод: В конце мы печатаем итоговый словарь всех контактов, что позволяет пользователю увидеть все введенные данные сразу после завершения ввода.
4. Как использовать:
- Запустите программу.
- Вводите имена и телефоны три раза. После каждого ввода вы будете видеть текущее состояние словаря.
- В конце будет выведен итоговый телефонный справочник.
Чтобы усовершенствовать программу, можно добавить проверку на уникальность имен или обработку исключений на случай, если пользователь введет неверные данные.