@Anastasia_fox

Не могу понять, почему код работает не так?

Условие задачи: Я работаю секретарем и мне постоянно приходят различные документы. Я должен быть очень внимателен чтобы не потерять ни один документ. Каталог документов хранится в следующем виде: Перечень полок, на которых находятся документы хранится в следующем виде: Необходимо реализовать пользовательские команды, которые будут выполнять следующие функции: p – people – команда, которая спросит номер документа и выведет имя человека, которому он принадлежит

documents = [
        {"type": "passport", "number": "2207 876234", "name": "Василий Гупкин"},
        {"type": "invoice", "number": "11-2", "name": "Геннадий Покемонов"},
        {"type": "insurance", "number": "10006", "name": "Аристарх Павлов"}
      ]

directories = {
        '1': ['2207 876234', '11-2'],
        '2': ['10006'],
        '3': []
      }

def documents_number(people):
  user_input = input('Введите номер документа')
  for documents in people:
    if documents_number == (documents['number']):
      print(documents['name'])
  print(documents['name'])
  return user_input
print(documents_number(documents))
  • Вопрос задан
  • 1254 просмотра
Пригласить эксперта
Ответы на вопрос 1
@PRoGRamm_InG
Ты всегда выводишь последний документ, так как documents которая прошлась в цикле оставила у себя значение последнего повторения и user_input никак не используется. Правильный вариант намного легче
Правильный вариант:
def documents_number(people):
  user_input = int(input('Введите номер документа'))-1
  return people[user_input]["name"]

print(documents_number(documents))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы