Задать вопрос
@kurrbanov
Пишу бэкенд на Питоне

Почему данная функция возвращает None?

Имеется класс, который описывает связной список:

class ListNode:
    def __init__(self, val=0, nxt=None):
        self.val = val
        self.nxt = nxt


Я написал функцию, которая должна выводить длину этого связного списка:

def check_len(lst: ListNode, ans=0):
    if lst.nxt is None:
        return ans + 1
    check_len(lst.nxt, ans + 1)


print(check_len(linked_list))


Однако, она возвращает None. Если не возвращать значение, а выводить его в консоль, то переменная ans выводится.
Подскажите, пожалуйста, почему я не могу вернуть из функции значения по умолчанию?
  • Вопрос задан
  • 90 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Нужно функцию возвращать

def check_len(lst: ListNode, ans=0):
    if lst.nxt is None:
        return ans + 1
    return check_len(lst.nxt, ans + 1)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы