如何在python中解决此else语法错误

如何在python中解决此else语法错误,python,function,syntax-error,fibonacci,Python,Function,Syntax Error,Fibonacci,下面是生成n个元素的斐波那契级数的代码, 有注释的else是导致错误的部分 def solve(n): # write your code here,end= a=[0,1] b=[] if n==0: b.append(0) return b else:#THE ERROR PART for i in range(n-1): a.append(a[i+1]+a[i]) return a 返回的缩进需要更正 def solve(n): #

下面是生成n个元素的斐波那契级数的代码, 有注释的else是导致错误的部分

def solve(n):
# write your code here,end=
a=[0,1]
b=[]
if n==0:
    b.append(0)
return b    
else:#THE ERROR PART
    for i in range(n-1):
        a.append(a[i+1]+a[i])
    return a

返回的缩进需要更正

def solve(n):
    # write your code here,end=
    a=[0,1]
    b=[]
    if n==0:
        b.append(0)
        return b    #edit here
    else:#THE ERROR PART -> no more error
        for i in range(n-1):
            a.append(a[i+1]+a[i])
        return a

solve(10)
输出

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

这是因为上面的return语句应该在if语句中。它在If语句之外

def solve(n):
# write your code here,end=
a=[0,1]
b=[]
if n==0:
    b.append(0)
    return b    //update here
else:#THE ERROR PART
    for i in range(n-1):
        a.append(a[i+1]+a[i])
    return a

注意第8行的缩进作为返回,只是退出程序,使else不可逆


欢迎使用堆栈溢出!强烈建议将代码、日志和错误等文本信息作为文本而不是图像发布。它可以帮助其他用户找到并回答您的问题。@ashy,请在发布之前始终缩进代码,这会使其他人更容易阅读代码。谢谢,来看看堆栈溢出!强烈建议将代码、日志和错误等文本信息作为文本而不是图像发布。