Как вернуть список без ошибок?Ошибка NoneType - PullRequest
0 голосов
/ 25 октября 2018

Попытка создать накопительную функцию, которая возвращает список со значением n, встречающийся k раз.

def create_list_accum(n,k,lst):
    if len(lst) == n:
    return lst
    return create_list_accum(n,k,lst.append(k))

def create_list(n,k):
    lst = []
    create_list_accum(n,k,lst)

Я продолжаю получать встроенный.Тип ошибки: объект типа 'NoneType' не имеет len ().Почему это происходит?Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 25 октября 2018

lst.append(k) ничего не возвращает, поэтому, когда вы передаете его в create_list_accum(n,k,lst) в качестве параметра lst, ваш код пытается сделать len(None).

Попробуйте вместо этого:

def create_list_accum(n,k,lst):
    if len(lst) == n:
        return lst

    lst.append(k)
    return create_list_accum(n,k,lst)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...