简体   繁体   English

您能告诉我代码有什么问题吗?

[英]Could you tell me what's wrong with my code?

When I call my fib function it doesn't return anything. 当我调用我的fib函数时,它不返回任何内容。 Can you tell me what is it that I'm doing wrong? 你能告诉我我做错了什么吗?

def fib(n, List = []):
    if n > 0:
        if len(List) == 0 or len(List) == 1:
            List.append(1)
        else:
            List.append(List[len(List) - 2] + List[len(List) - 1])
        fib(n - 1, List)
    else:
        return List

l = fib(5)
print(l)  # >> None

Change fib(n - 1, List) to return fib(n - 1, List) : 更改fib(n - 1, List)return fib(n - 1, List)

def fib(n, List = []):
    if n > 0:
        if len(List) == 0 or len(List) == 1:
            List.append(1)
        else:
            List.append(List[len(List) - 2] + List[len(List) - 1])
        return fib(n - 1, List)
    else:
        return List

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM