Переименование файла в PyTown

В виртуальном мире PyTown каждый цифровой документ или файл хранится в каталогах и подкаталогах, которые представлены в виде вложенных словарей. Мэру города, мистеру CeePy, возложена большая ответственность по поддержанию всех этих документов в порядке, с правильными именами и легким доступом. Однажды мистер CeePy обнаружил, что один очень важный файл был неправильно назван, и ему срочно нужно это исправить.
Ваша задача — помочь мистеру CeePy, написав рекурсивную программу на Python для поиска этого конкретного файла во вложенной структуре словарей директорий и переименовать его, если он найден. Здесь ключи представляют имена папок или файлов, а значения — либо словари, представляющие подкаталоги, либо строки, представляющие расширения файлов.
Первая строка ввода — это вложенная структура словаря. Этот словарь представляет директории в виде ключей и либо словарь, либо строку в качестве значений. Строки — это расширения файлов, которые, в сочетании со своими ключами (именами файлов), образуют полное имя файла.
Вторая строка ввода — это существующее имя файла (с его расширением), который нужно найти и переименовать.
Третья строка ввода — это новое имя файла, в которое следует переименовать существующий файл.
Программа должна вернуть измененную вложенную структуру словаря с переименованным файлом. Если файл не найден в структуре директорий, программа должна вывести File not found.
Ввод
Вывод
{"home": {"documents": {"report": ".docx", "data": ".csv", "analysis": ".txt"}, "pictures": {"beach": ".jpg", "portrait": ".png"}}, "desktop": {"important": ".pdf", "todo": ".txt"}} important.pdf urgent.pdf
{"home": {"documents": {"report": ".docx", "data": ".csv", "analysis": ".txt"}, "pictures": {"beach": ".jpg", "portrait": ".png"}}, "desktop": {"urgent": ".pdf", "todo": ".txt"}}
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue