Как решить задачу по теме "словари" в Python
Дан словарь {'class':{'student':{'name':'Mike','marks':{'physics':70,'history':80}}}}. Выведите на экран имя студента и его оценку по истории
Не так давно начала учиться, поэтому кому-то этот вопрос покажется элементарным, но мне - нет. Пыталась добраться до значения "name" и "history" через квадратные скобки [], но выдает KeyError. Понимаю, что необходимо как-то распаковать вложенные списки, но как это сделать - не знаю
Мой код:
d = {'class':{'student':{'name':'Mike','marks'{'physics':70,'history':80}}}}
d1 = d['name']
print(d1)
Вывод:
Traceback (most recent call last):
File "C:\Users\Иван\PycharmProjects\pythonProject\Задание 25.py", line 2, in <module>
d1 = d['name']
KeyError: 'name'
Ответы (2 шт):
Как работает Ваш словарь? По принципу матрëшки. Сначала Вы открываете одну и там находиться другая, ещë одна и так далее... Следовательно, чтобы добраться до name нужно написать:
d['class']['student']['name']
Если вывести данное, то можно увидеть введя так:
d1 = d['class']['student']['name']
print(d1)
Вывод:
Mike
Можете проверить) Таким же образом работайте с history) Также могу привести пример с играми, чтобы попасть к финальному боссу, то нужно выполнить уровни. Также здесь) Успехов)
Верный ответ:
d = {'class': {'student': {'name': 'Mike', 'marks': {'physics': 70, 'history': 80}}}}
d1 = d['class']['student']['name']
d2 = d['class']['student']['marks']['history']
print('Имя ученика: ', d1)
print('Оценка по истории: ', d2)