我正在从python
看这个斐波纳契序列程序#!/usr/bin/python3
# simple fibonacci series
# the sum of two elements defines the next set
a, b = 0, 1
while b < 50:
print(b)
a, b = b, a + b
print("Done")
结果输出如下所示:1, 1, 2 ,3 ,5 ,8 ,13 ,21, 34, Done
我对a, b = b, a + b
更广泛的等效版本是什么?
编辑答案
好的,在阅读完之后,下面是一种等效方式,c
临时占位符可以抓取原始a
#!/usr/bin/python3
# simple fibonacci series
# the sum of two elements defines the next set
a = 0
b = 1
c = 0
while b < 50:
print(b)
c = a
a = b
b = a + c
print("Done")
此处有更多方法:Is there a standardized method to swap two variables in Python?,包括元组,xor和temp变量(如此处所示)
答案 0 :(得分:1)
a, b = b, a + b
相当于
a = b; b = a + b
,除非在分配给a
时使用b
的新值,而不是预期的原始值。