Python 为什么这段代码会打印斐波那契级数?
所以我的问题是关于行“Python 为什么这段代码会打印斐波那契级数?,python,python-3.x,while-loop,do-while,Python,Python 3.x,While Loop,Do While,所以我的问题是关于行“a,b=b,a+b”以及行“a,b=0,1” 这些线条意味着什么,它们在做什么 def fib2(n): result = [] a, b = 0, 1 while a < n: result.append(a) a, b = b, a+b return result def fib2(n): 结果=[] a、 b=0,1 而a
a,b=b,a+b
”以及行“a,b=0,1
”
这些线条意味着什么,它们在做什么
def fib2(n):
result = []
a, b = 0, 1
while a < n:
result.append(a)
a, b = b, a+b
return result
def fib2(n):
结果=[]
a、 b=0,1
而a
a,b=b,a+b
是一种多重赋值语句。在这样的语句中,右侧的表达式都会被计算
在任何作业开始之前。右侧表达式从左到右求值
a的情况类似,b=0,1
,其中a
获取0
,b
获取1
a, b=b, a+b # is described as
temp = a
a = b
b= temp + b
如果你看shell中的a,b=0,1
In [37]: a,b = 0,1
In [38]: a,b
Out[38]: (0, 1)
In [40]: type((a, b))
Out[40]: tuple
In [41]: a
Out[41]: 0
In [42]: b
Out[42]: 1
所以它只是将变量赋值给元组值