Вопрос задан 17.06.2023 в 23:16. Предмет Информатика. Спрашивает Мусташев Ержан.

Это на питоне Указаны фамилии и номера телефонов n=10 человек в записной книжке. Составить

программу, которая определяет, есть ли в записной книжке: а) телефон определенного лица, и, если есть, печатает номер ее телефона; б) информация о человеке с заданным номером телефона, и, если есть, вывести фамилию этого человека.​
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Радишевская Кристина.

Ответ:

а)

n = [['Попов', '+799966666'], ['Иванов', '+799963266'], ['Сидоров', '+799126666'], ['Онегин', '+799966326'],

    ['Пушкин', '+799966662'], ['Блок', '+742966666'], ['Толстой', '+799921666'], ['Афанасьев', '+799966132'],

    ['Есенин', '+731266666'], ['Лермонтов', '+799932666']]

a = input('Введите Фамилию: ')

x = 0

for i in range(len(n)):

   if n[i][0] == a:

       print('Номер телефона:', n[i][1])

       x = 1

       break

if x == 0:

   print('Такого человека нет в базе')

б)

n = [['Попов', '+799966666'], ['Иванов', '+799963266'], ['Сидоров', '+799126666'], ['Онегин', '+799966326'],

    ['Пушкин', '+799966662'], ['Блок', '+742966666'], ['Толстой', '+799921666'], ['Афанасьев', '+799966132'],

    ['Есенин', '+731266666'], ['Лермонтов', '+799932666']]

a = input('Введите Фамилию: ')

x = 0

for i in range(len(n)):

   if n[i][1] == a:

       print('Фамилия:', n[i][0])

       x = 1

       break

if x == 0:

   print('Такого номера нет в базе')

БОНУС

Решение, которое работает и для а, и для б:

import re

n = [['Попов', '899966666'], ['Иванов', '+799963266'], ['Сидоров', '+799126666'], ['Онегин', '+799966326'],

    ['Пушкин', '+799966662'], ['Блок', '+742966666'], ['Толстой', '+799921666'], ['Афанасьев', '+799966132'],

    ['Есенин', '+731266666'], ['Лермонтов', '+799932666']]

a = input('Введите номер или фамилию: ')

x = 0

if re.match(r'^[0-9_.+]', a):

   for i in range(len(n)):

       if n[i][1] == a:

           print('Фамилия:', n[i][0])

           x = 1

           break

   if x == 0:

       print('Такого номера нет в базе')

else:

   for i in range(len(n)):

       if n[i][0] == a:

           print('Номер:', n[i][1])

           x = 1

           break

   if x == 0:

       print('Такого человека нету в базе')

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

Вначале создадим словарь, содержащий информацию о людях:

```python phonebook = { "Иванов": "1234567890", "Петров": "9876543210", "Сидоров": "5555555555", # и так далее... } ```

Теперь, для реализации функции а), которая проверяет наличие телефона определенного лица и выводит его номер, можно написать следующий код:

```python def find_phone(name): for person, phone in phonebook.items(): if person == name: return phone return "Такого человека нет в записной книжке"

name = input("Введите фамилию человека: ") phone = find_phone(name) print(phone) ```

Функция `find_phone` проходит по словарю `phonebook` и сравнивает каждую фамилию с заданной. Если фамилия найдена, функция возвращает номер телефона, иначе возвращает сообщение об отсутствии такого человека.

Для реализации функции б), которая выводит фамилию человека с заданным номером телефона, можно использовать следующий код:

```python def find_name(phone): for person, number in phonebook.items(): if number == phone: return person return "Такой номер телефона не найден"

phone = input("Введите номер телефона: ") name = find_name(phone) print(name) ```

Функция `find_name` проходит по словарю `phonebook` и сравнивает каждый номер телефона с заданным. Если номер найден, функция возвращает фамилию человека, иначе возвращает сообщение о том, что такой номер не найден.

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

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос