|
0 / 0 / 0
Регистрация: 29.08.2020
Сообщений: 3
|
||||||
Работа с вложенными словарями29.08.2020, 18:41. Показов 6975. Ответов 6
Господа, добрый вечер! У меня есть два блока исходных данных:
Задача 2. После ввода команды “s” пользователь по номеру документа должен узнать, на какой полке он хранится Задача 3. После ввода команды “l” пользователь должен увидеть полную информацию по всем документам: комер, тип, имя и на какой полке хранится. Я затормозила уже на первой задаче. Использовала цикл for и пыталась вывести значения по ключам. Но максимум, что получила - имя первого животного в ответ на любой введённый номер. Помогите, чем можете Можно вводить функции. Только не делайте плиз длиннющие однострочные циклы - мне важно понять принцип алгоритма. Ибо в теории я всё понимаю, а как дело касается практики - дико торможу.Спасибо заранее!
0
|
||||||
| 29.08.2020, 18:41 | |
|
Ответы с готовыми решениями:
6
Работа со словарями, операции над словарями, методы работы со словарями в Python 3 Работа со словарями, операции над словарями, методы работы со словарями на Python Как работать с вложенными словарями |
|
Автоматизируй это!
|
||
| 29.08.2020, 19:29 | ||
|
про полки не понял, если надо по ключу из директории получить всех животных то получаем номер (ключ в директориях) достаем список значений, проходим по ним циклом используя функцию которую написали выше (получение по номеру)
1
|
||
|
0 / 0 / 0
Регистрация: 29.08.2020
Сообщений: 3
|
|
| 29.08.2020, 19:53 [ТС] | |
|
Под полками подразумевались директории.
![]() Проблема в том, что логика мне относительно ясна. Но я пишу код - и всё равно не получаю нужный результат. Максимум - получаю по номеру имя животного, но какой бы номер не вводила - животное одно и то же, первое в списке. И я не понимаю, чего я указываю не так. И ещё момент: функцию лучше задавать прямо с первой задачи или можно сделать всё циклом?
0
|
|
|
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
|
||||||||
| 30.08.2020, 00:13 | ||||||||
|
Я так понимаю, что вы хотите по номеру животного вернуть полку (то есть ключ этого словаря)?
Я - новичок, как и вы, поэтому на истину не претендую, но либо нужно изменять словарь, цитируемый выше, либо использовать "костыли" (хотя в интернете много решений этого рода проблем, но все они объемны по написанию кода) Конкретно с вашим примером работает этот код (как один, далеко не самый лучший вариант), но подумайте над организацией данных в словарях.
Добавлено через 6 минут переменная animalNumber объявляется в другом фрагменте и соответсвует ключу 'number' в словаре documents
0
|
||||||||
|
0 / 0 / 0
Регистрация: 29.08.2020
Сообщений: 3
|
||||||
| 30.08.2020, 07:02 [ТС] | ||||||
|
Господа, спасибо за подсказки. Я вроде нашла решение (не без подсказки), но оно с помощью условий и функции filter и lambda. Поняла, как использовать цикл, но получается длиннее. Сейчас код получается коротким, читабельным. Но теперь возникает другая проблема: это задание - по теме функции. А я не понимаю, зачем вообще сюда функцию вставлять, если можно сделать всё коротко и условиями. Уточню: дополнительно - ещё две задачи к тем же исходным данным: по определённой команде добавить новую директорию и удалить директорию.
То есть если взять пять этих задач вместе, какую общую функцию можно сделать, чтобы упростить код? Пример кода для решения первой задачи:
0
|
||||||
|
Автоматизируй это!
|
|
| 30.08.2020, 09:03 | |
|
EldoRada, так у тебя же не одно задание, а 3 и в последних можно использовать функцию из первого
0
|
|
| 30.08.2020, 09:03 | |
|
Помогаю со студенческими работами здесь
7
Цикл со списком с вложенными словарями. Не работает срез части списка
Работа со словарями Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|