Как решить задачу по теме "словари" в 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 шт):

Автор решения: Hazgan 1

Как работает Ваш словарь? По принципу матрëшки. Сначала Вы открываете одну и там находиться другая, ещë одна и так далее... Следовательно, чтобы добраться до name нужно написать:

d['class']['student']['name']

Если вывести данное, то можно увидеть введя так:

d1 = d['class']['student']['name']
print(d1)

Вывод:

 Mike

Можете проверить) Таким же образом работайте с history) Также могу привести пример с играми, чтобы попасть к финальному боссу, то нужно выполнить уровни. Также здесь) Успехов)

→ Ссылка
Автор решения: alena nickolaeva

Верный ответ:

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)

→ Ссылка