Давайте разберем задачу по шагам. Мы создадим программу для телефонной книги, которая включает в себя добавление, изменение, удаление записей и вывод номеров или имен. Основная логика будет основана на вводе пользователя.
Шаг 1: Определить структуру данных
Для хранения данных телефонной книги мы можем использовать словарь в Python, где ключами будут имена, а значениями - номера телефонов. Например:
phone_book = {}
Шаг 2: Реализовать функции
Нам нужно реализовать функции для каждого действия, указанного в задаче.
- Показать (возможно реализовать через отдельную функцию, где выводятся все записи)
- Добавить (добавляет новое имя и номер)
- Изменить (изменяет номер по имени)
- Удалить (удаляет запись по имени)
- Показать все имена (выводит только имена)
- Показать все номера (выводит только номера)
Шаг 3: Обработка ввода пользователя
Мы будем использовать цикл для обеспечения постоянного взаимодействия с пользователем до тех пор, пока тот не решит выйти.
Пример кода
Вот примерный код программы:
def show_entries(phone_book):
for name, number in phone_book.items():
print(f"{name}: {number}")
def add_entry(phone_book):
name = input("Введите имя: ")
number = input("Введите номер: ")
phone_book[name] = number
print("Запись добавлена.")
def change_entry(phone_book):
name = input("Введите имя для изменения: ")
if name in phone_book:
number = input("Введите новый номер: ")
phone_book[name] = number
print("Запись изменена.")
else:
print("Такого имени нет в телефонной книге.")
def delete_entry(phone_book):
name = input("Введите имя для удаления: ")
if name in phone_book:
del phone_book[name]
print("Запись удалена.")
else:
print("Такого имени нет в телефонной книге.")
def show_names(phone_book):
for name in phone_book.keys():
print(name)
def show_numbers(phone_book):
for number in phone_book.values():
print(number)
def main():
phone_book = {}
while True:
action = input("Выберите действие (1 - Показать, 2 - Добавить, 3 - Изменить, 4 - Удалить, 5 - Показать все имена, 6 - Показать все номера): ")
if action == '1':
show_entries(phone_book)
elif action == '2':
add_entry(phone_book)
elif action == '3':
change_entry(phone_book)
elif action == '4':
delete_entry(phone_book)
elif action == '5':
show_names(phone_book)
elif action == '6':
show_numbers(phone_book)
else:
print("Такого действия нет.")
if __name__ == "__main__":
main()
Объяснение кода
Функции: Мы создали отдельные функции для каждого действия, чтобы код был организованным и легко поддерживаемым.
Цикл ввода: Бесконечный цикл while True позволяет пользователю вводить действия постоянно, пока он не завершит работу программы (например, закрыв окно или нажав Ctrl+C).
Обработка действий: Мы используем условные операторы (if, elif, else) для определения, какое действие выполнить в зависимости от введенного числа.
Вывод информации: Каждая функция, отвечающая за вывод, форматирует информацию удобно для чтения.
Этот код поможет вам создать простую и понятную телефонную книгу, отвечающую требованиям вашей задачи. Если есть вопросы или нужно что-то адаптировать, дайте знать!