Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №2958869
А
Аноним
14 марта 2025 13:07 · публичный вопрос
А
Аноним

Возвратись к задаче с телефонной книгой. Пора добавлять новый функционал! Реализуй добавление новых контактов и изменение текущих в своей телефонной книге. Логика: Добавляется…

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

Возвратись к задаче с телефонной книгой. Пора добавлять новый функционал! Реализуй добавление новых контактов и изменение текущих в своей телефонной книге. Логика: Добавляется контакт только в том случае, если указаны и телефон, и имя, и такого контакта ещё нет. А если такой контакт есть, то изменяем его. Если такого контакта нет и не был введён номер телефона, то выводится сообщение: «Нет в телефонной книге». Выводится номер телефона текущего контакта, если такое имя есть, но не ввели номер телефона. Формат ввода: Сначала вводится имя, потом номер телефона. Формат вывода: Последовательно выводится обновлённая телефонная книга в формате "{имя}: {телефон}", ❗если телефонная книга изменялась. Примечание Код 1 book_phones = { 2 'Квам-Дамн': '-79899899889', 3 'Лук Скамворкер': '112', 4 'Петард Вейпер': '1', 5 'Лия Моргала': '+09998765432', 6 'Эдуард Скамворкер': '0' 7 } 8 ​ 9 ​ 10 ​ 11 # Этот код используй для вывода обновлённой телефонной книги в формате "{имя}: {телефон}". 12 for key in book_phones: 13 print(f'{key}: {book_phones[key]}')

Ответ нейросети
14 марта 2025 13:07

Давайте разберем решение вашей задачи по добавлению и изменению контактов в телефонной книге, пошагово объясняя, как это можно реализовать.

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

Мы уже имеем телефонную книгу в виде словаря book_phones, который хранит пары "имя : телефон".

Шаг 2: Получение данных от пользователя

Сначала нужно получить от пользователя данные — имя и номер телефона. Давайте предположим, что этот ввод происходит в виде строки с двумя значениями, разделенными пробелом.

Шаг 3: Логика добавления и изменения контактов

  1. Если телефон и имя введены, проверяем, есть ли такой контакт уже в телефонной книге:

    • Если есть, обновляем номер телефона.
    • Если нет, добавляем новый контакт.
  2. Если введено только имя, но не телефон, выводим номер телефона текущего контакта.

  3. Если имя не введено, выводим сообщение "Нет в телефонной книге".

Шаг 4: Вывод обновленной телефонной книги

Если телефонная книга была изменена, выводим обновленную версию. Используем цикл, чтобы вывести все контакты в нужном формате.

Вот пример кода, который выполняет описанные функции:

book_phones = {
    'Квам-Дамн': '-79899899889',
    'Лук Скамворкер': '112',
    'Петард Вейпер': '1',
    'Лия Моргала': '+09998765432',
    'Эдуард Скамворкер': '0'
}

# Функция для обновления телефонной книги
def update_phone_book(input_data):
    if not input_data.strip():
        print("Нет в телефонной книге")
        return
    
    # Разбиваем входные данные на имя и номер телефона
    parts = input_data.split()
    
    if len(parts) == 0:
        print("Нет в телефонной книге")
        return

    name = parts[0]
    phone = parts[1] if len(parts) > 1 else None

    if phone:  # Если был введен номер телефона
        if name in book_phones:
            # Изменяем существующий контакт
            book_phones[name] = phone
            print(f"Контакт {name} обновлён.")
        else:
            # Добавляем новый контакт
            book_phones[name] = phone
            print(f"Контакт {name} добавлен.")
    else:  # Если номер телефона не был введён
        if name in book_phones:
            print(f'Номер телефона для {name}: {book_phones[name]}')
        else:
            print("Нет в телефонной книге")

    # Выводим обновленную телефонную книгу
    print("Обновленная телефонная книга:")
    for key in book_phones:
        print(f'{key}: {book_phones[key]}')

# Пример использования функции
update_phone_book('Лук Скамворкер 12345')  # Изменяем номер для Лук Скамворкер
update_phone_book('Стив');                   # Запрашиваем номер для несуществующего контакта
update_phone_book('Квам-Дамн');              # Запрашиваем номер для существующего контакта без ввода номера

Объяснение работы кода:

  1. Структура данных: В начале мы определяем телефонную книгу как словарь.
  2. Функция update_phone_book: Обрабатывает ввод пользователя, проверяет наличие имени и номера.
  3. Вывод результатов: Если изменения произошли, выводим обновленную книгу в формате "имя: телефон".

Таким образом, данный код охватывает логику добавления и изменения контактов в телефонной книге и выводит соответствующие результаты.