Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3031494
А
Аноним
01 апреля 2025 12:47 · публичный вопрос
А
Аноним

Последний штрих в нашей телефонной книге! Добавь в выбор действий вывод всей телефонной книги только по: 1. Именам, 2. Номерам. Формат ввода: Вводится одно из возможных действий:…

Запрос пользователя

Последний штрих в нашей телефонной книге! Добавь в выбор действий вывод всей телефонной книги только по: 1. Именам, 2. Номерам. Формат ввода: Вводится одно из возможных действий: 1 — Показать, 2 — Добавить, 3 — Изменить, 4 — Удалить, 5 — Показать все имена в книге, 6 — Показать все номера в книге. Формат вывода: Если выбирается 5 действие, то должны последовательно вывестись все имена, записанные в телефонной книге. Если 6 — то номера. Требования к выводу остальных действий такие же, как и в прошлой задаче. Если вводится неправильное действие, то выводится сообщение: 'Такого действия нет'.

Ответ нейросети
01 апреля 2025 12:47

Давайте разберем задачу по шагам. Мы создадим программу для телефонной книги, которая включает в себя добавление, изменение, удаление записей и вывод номеров или имен. Основная логика будет основана на вводе пользователя.

Шаг 1: Определить структуру данных

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

phone_book = {}

Шаг 2: Реализовать функции

Нам нужно реализовать функции для каждого действия, указанного в задаче.

  1. Показать (возможно реализовать через отдельную функцию, где выводятся все записи)
  2. Добавить (добавляет новое имя и номер)
  3. Изменить (изменяет номер по имени)
  4. Удалить (удаляет запись по имени)
  5. Показать все имена (выводит только имена)
  6. Показать все номера (выводит только номера)

Шаг 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()

Объяснение кода

  1. Функции: Мы создали отдельные функции для каждого действия, чтобы код был организованным и легко поддерживаемым.

  2. Цикл ввода: Бесконечный цикл while True позволяет пользователю вводить действия постоянно, пока он не завершит работу программы (например, закрыв окно или нажав Ctrl+C).

  3. Обработка действий: Мы используем условные операторы (if, elif, else) для определения, какое действие выполнить в зависимости от введенного числа.

  4. Вывод информации: Каждая функция, отвечающая за вывод, форматирует информацию удобно для чтения.

Этот код поможет вам создать простую и понятную телефонную книгу, отвечающую требованиям вашей задачи. Если есть вопросы или нужно что-то адаптировать, дайте знать!