a, b = b, a+b 这个表达式的意思就是说,先计算=号的右边b的值,a+b的值,
算好了,然后再分别赋值给a 和b就可以了。
python的 a,b=b,a+b 和 a=b b=a+b 的转换:
a,b = b,a+b 等效于 c = a ; a = b ; b = c + b
def fib(n):
a,b = 0,1
while b < n :
print(b,end=" ")
a,b = b ,a+b #先计算=号的右边b的值,a+b的值,算好了,然后再分别赋值给a 和b就可以了
# a,b = b,a+b 等效于 c = a ; a = b ; b = c + b
print()
def fib2(n): # 返回到 n 的斐波那契数列
result = []
a = 0
b = 1
while b < n:
result.append(b)
c = a ; a = b ; b = c + b # a,b = b,a+b 等效于 c = a ; a = b ; b = c + b
return result