С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/75: Рейтинг темы: голосов - 75, средняя оценка - 4.81
1 / 1 / 0
Регистрация: 07.03.2021
Сообщений: 25

Задача про функции

05.04.2021, 14:29. Показов 15487. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я работаю секретарем и мне постоянно приходят различные документы. Я должен быть очень внимателен чтобы не потерять ни один документ. Каталог документов хранится в следующем виде:

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': []
}
Необходимо реализовать пользовательские команды, которые будут выполнять следующие функции:

p – people – команда, которая спросит номер документа и выведет имя человека, которому он принадлежит;
s – shelf – команда, которая спросит номер документа и выведет номер полки, на которой он находится;
Правильно обработайте ситуации, когда пользователь будет вводить несуществующий документ.
l– list – команда, которая выведет список всех документов в формате passport "2207 876234" "Василий Гупкин";
a – add – команда, которая добавит новый документ в каталог и в перечень полок, спросив его номер, тип, имя владельца и номер полки, на котором он будет храниться. Корректно обработайте ситуацию, когда пользователь будет пытаться добавить документ на несуществующую полку.
Внимание: p, s, l, a - это пользовательские команды, а не названия функций. Функции должны иметь выразительное название, передающие её действие.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.04.2021, 14:29
Ответы с готовыми решениями:

Задача про функции
Помогите с задачкой,Вроде решил.но при попытке добавить документ на несуществующую полку программа падает с ошибкой Я работаю...

Задача про декораторы. Написать функцию, которая изменяет поведение функции magic.
Прошу помочь с задачкой для декораторов При переходе через Карадрас братству кольца сильно помешала снежная буря. Гендальф решил...

Задача про функции
Написать функцию change_cent, которая принимает количество американской валюты в центах и возвращает список из четырех значений, который...

6
102 / 85 / 25
Регистрация: 21.05.2019
Сообщений: 481
05.04.2021, 15:22
Лучший ответ Сообщение было отмечено mixasb777 как решение

Решение

Так а сам чего сделал?

Добавлено через 1 минуту
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def people(documents):
    x = input("Номер документа ")
    for i in documents:
        if i["number"] == x:
            return i["name"]
 
 
def shelf(directories):
    x = input("Номер документа ")
    for i in directories.items():
        if x in i[1]:
            return i[0]
 
 
def lst(documents):
    for i in documents:
        print(i["type"], i["number"], i["name"])
 
 
def add(directories, documents):
    # Пример - passport, 123, АА ББ, 3
    x = list(input("Тип, номер, имя и полку(Через запятую").split(", "))
    documents.append({"type": x[0], "number": x[1], "name": x[2]})
    directories[x[3]].append(x[1])
    print(documents)
    print(directories)
 
 
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': []
}
 
print(people(documents))
print(shelf(directories))
lst(documents)
add(directories, documents)
Добавлено через 48 секунд
Название переменным сам придумай
0
1 / 1 / 0
Регистрация: 07.03.2021
Сообщений: 25
05.04.2021, 15:39  [ТС]
Спасибо,так не умею еще сам.хотел посмотреть как правильно
0
102 / 85 / 25
Регистрация: 21.05.2019
Сообщений: 481
05.04.2021, 15:54
mixasb777, Если что спрашивай, если вопросы по коду будут
1
0 / 0 / 0
Регистрация: 07.07.2021
Сообщений: 4
07.07.2021, 17:57
Цитата Сообщение от RSAX Посмотреть сообщение
def add(directories, documents):
    # Пример - passport, 123, АА ББ, 3
    x = list(input("Тип, номер, имя и полку(Через запятую").split(", "))
    documents.append({"type": x[0], "number": x[1], "name": x[2]})
    directories[x[3]].append(x[1])
    print(documents)
    print(directories)
Здравствуйте. Подскажите пожалуйста, когда я ввожу данные он вносит в одну из трех полок. Возможно ли в этом коде сделать так, чтобы при пользовательском вводе создавалась новая полка и вписывались данные туда?
0
102 / 85 / 25
Регистрация: 21.05.2019
Сообщений: 481
07.07.2021, 18:38
r_26, нет, нужно сначала создать полку или выбрать из существующих
1
0 / 0 / 0
Регистрация: 07.07.2021
Сообщений: 4
07.07.2021, 18:46
Спасибо, за ответ)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.07.2021, 18:46
Помогаю со студенческими работами здесь

Задача про массивы и функции
Напишите программу, которая запрашивает у пользователя 10 результатов игры в гольф, сохраняя их в массиве. При этом необходимо обеспечить...

задача про шахматную доску(функции и ссылки)
Написать функцию (одну общую) для определения, сколько чёрных полей и сколько белых полей содержит шахматная доска размера n*n (поле a1...

Задача про табулирование и интегрирование заданной функции
Господа, прошу, помогите мне, недалёкой. Я никак не могу понять, в чём моя ошибка: когда я запускаю программу, вылетает сообщение:...

задача про дискретизацию заданой неприрывной функции
здраствуйте, всё время удавалось найти ответы на непонятки в своих работах. а тут просто стопор и не пойму из-за чего... Виконати...

задача про самолет (аналог задачи про рюкзак)
Мне хотелось бы, чтобы вы посоветовали и помогли мне, как правильно решить задачу. В самолет требуется погрузить n видов предметов,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru