Moo*_*Moo 3 python python-2.7 python-3.x
1-
def fib1(n):
a = 0
b = 1
while a < n:
print b
a = b
b = a+b
Run Code Online (Sandbox Code Playgroud)
2-
def fib2(n):
a, b = 0,1
while a < n:
print b
a,b = b, b+a
Run Code Online (Sandbox Code Playgroud)
执行时:
fib1(10) 我得到了错误的答案: 0 1 2 4 8
fib2(10) 我得到了正确的答案: 0 1 1 2 3 5 8
在fib 1中
a = b
覆盖的值a,
这意味着a不再是声明的正确价值
b = a+b
但是,在你的第二个例子中,这些事情在线路上同时发生,a,b = a, b+a这意味着a仍然是正确的值.
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |