试图创建一个fibonacci序列,直到"n“数,我发现下面的代码只会使最后一个值加倍
def fibon(n):
a=0
b=1
for i in range(n):
a=b
b=a+b
print(b)但是,如果在同一行中完成,则可以执行正确的操作。
def fibon(n):
a=0
b=1
for i in range(n):
a,b=b,a+b
print(b)我只是想知道为什么第二种方法有效,两者之间有什么不同。谢谢。
发布于 2021-07-31 03:06:09
它们是不同的,因为在第二个版本中,您使用a的“旧”值在a+b计算中原子地执行赋值。在第一个版本中,首先设置的是a = b,因此实际上是设置b = 2*b。
https://stackoverflow.com/questions/68598761
复制相似问题