Discuss / Python / 上面那个fib(max)看不懂附上我自己写的fib()

上面那个fib(max)看不懂附上我自己写的fib()

Topic source

儒犬主义

#1 Created at ... [Delete] [Delete and Lock User]
a=[0,1,1]

for x in range(2,10):
    a.append(a[x]+a[x-1])
print(a)

由于list不能自动增长,只有append()方法

希望有人能帮我解释一下

def fib(max):
    n, a, b = 0, 0, 1
    while n < max:
        yield b
        a, b = b, a + b
        n = n + 1
    return 'done'

这里的 a,b=b,a+b

上面那个用了个zip函数,可以看下这里 http://www.cnblogs.com/frydsh/archive/2012/07/10/2585370.html

你问的那个是a=b b=a+b两个同时算吧。。刚开始a=0 b=1,第一次计算就是a=1,b=0+1

周文笑

#4 Created at ... [Delete] [Delete and Lock User]

a,b=b,a+b 等价于 temp = b b = a+b a = temp


  • 1

Reply