@igoodmood

Как правильно реализовать функцию рекурсией?

Хочу реализовать функцию на питоне, которая узнает глубину массива.
Прошу помочь с устранением ошибок, что именно не так.
count = 0
p = 0
flag = True
def depth(s):
    count = 0
    p = 0
    if type(s) == list:
        count += 1
        return depth(s[0])
    else:
        if p < count:
            p = count
        flag = False
        count = 0
        return depth(s[1:])
    return p
  • Вопрос задан
  • 215 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Alexander1705
def depth(arr):
    if hasattr(arr, '__getitem__'):
        return max(depth(i) for i in arr) + 1
    else:
        return 0


P. S. Можно использовать map:
def depth(arr):
    if hasattr(arr, '__getitem__'):
        return max(map(depth, arr)) + 1
    else:
        return 0
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы