[问题] Fibonacci 范例

楼主: EijiHoba (我要好工作)   2015-02-02 12:35:52
我的程式
def fib(n):
'Fibonacci Demo'
a=0
b=1
while a < n:
print a,
a=b
b=a+b
fid(2000)
执行结果
0 1 2 4 8 16 32 64 128 256 512 1024
https://docs.python.org/2/tutorial/controlflow.html 范例
def fib(n):
'Fibonacci Demo'
a,b=0,1
while a < n:
print a,
a,b=a.a+b
fid(2000)
执行结果居然不同
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
请问哪里写错
作者: kkkor (梅林)   2015-02-02 13:04:00
先弄懂 Fibonacci 再看看 a=b 与 b=a+b。
作者: mars90226 (火星人)   2015-02-02 13:18:00
mass assignment时的顺序不能用拆开来assign来模拟他会记住之前的值,可是你分开assign,原本的值就不见所以a, b = b, a + b不等于a = b; b = a + b
作者: goldflower (金色小黄花)   2015-02-07 15:40:00
http://ppt.cc/9Xnr 看这篇了解一下python的 tupleassignment是怎么回事
作者: bigpigbigpig (To littlepig with love)   2015-02-07 17:07:00
程式二的 a,b=a.a+b 若不改成 a,b = b,a+b 也不正确

Links booklink

Contact Us: admin [ a t ] ucptt.com