算法分析—python语言实现

帮我解答一下:
使用循环方法求n=10的斐波那契数列

不用函数,只用循环可以这样写:

a=0
b=1
f=[]
for i in range(10):
    f.append(b)
    a,b=b,a+b    
print(f)
def fib_recur(n):
    assert n >= 0, "n > 0"
    if n <= 1:
        return n
    return fib_recur(n-1) + fib_recur(n-2)

for i in range(1, 10):
    print(fib_recur(i), end=' ')
def fib(n):
    if n == 1:
        return [1]
    if n == 2:
        return [1, 1]
    fibs = [1, 1]
    for i in range(2, n):
        fibs.append(fibs[-1] + fibs[-2])
    return fibs
# 输出前10个斐波那契数列
print fib(10)
以上程序运行输出结果为:
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]