Уведомления

Группа в Telegram: @pythonsu

#1 Март 10, 2021 22:25:31

swarmone
Зарегистрирован: 2021-03-10
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите создать функцию для словаря, которая возвращает наибольший ключ=int

Здравствуйте, я только начала изучать Python и столкнулась с вот такой сложно для меня задачей:

Написать функцию которая в качестве аргумента принимает словарь, в котором в качестве ключей — числа int, а в качестве значений — либо словарь, с такой же структурой, либо None. Функция должна вернуть максимально большое число находящееся в этой структуре на произвольной глубине.

Напишите два решения этой задачи - одно с использованием рекурсии, другое - без использования рекурсии

Я смогла только написать функцию для простого словаря, а вот для словаря в словаре нужна помощь, спасибо!
Моё решение:

 def max_key_in_dict(a):
    b = max(list(a.keys()))
    return b
a = {
    1: None,
    100: None,
    #30: {
        #42: None,
        #1000: None
    #}
}
print(a)

Офлайн

#2 Март 10, 2021 23:18:37

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1359
Репутация: +  119  -
Профиль   Отправить e-mail  

Помогите создать функцию для словаря, которая возвращает наибольший ключ=int

 def max_key_in_dict(a):
	keys = []
	for i in a:
		if a[i] is not None:
			keys.append(max_key_in_dict(a[i]))
		else:
			keys.append(i)
	return max(keys)
print(max_key_in_dict(a))

Онлайн

#3 Март 11, 2021 01:21:14

swarmone
Зарегистрирован: 2021-03-10
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите создать функцию для словаря, которая возвращает наибольший ключ=int

xam1816
Большое спасибо!

Отредактировано swarmone (Март 11, 2021 01:23:40)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version