def fibonacci(n):
a = 0
b = 1
for i in range(n):
a=b
b=a+b
print(a,end = " ")
fibonacci(10)
Result = 1 2 4 8 16 32 64 128 256 512
为什么我得到两个不同的结果?是什么让 python 打印 2 个不同的输出。当前我正在使用 python 3
def fibonacci(n):
a,b = 0,1
for i in range(n):
a,b=b,a+b
print(a,end = " ")
fibonacci(10)
Result = 1 1 2 3 5 8 13 21 34 55
Why i am getting two different results ? what makes the python to print 2 different outputs.Currently i am using python 3.
不同之处在于求和的方式:
a=b
b=a+b
对比
a,b=b,a+b
第一个将 a
设置为 b
。因此,当计算 a+b
时,它实际上变成了 b+b
或 2*b
,这就是您看到加倍序列的原因。
第二种求和方法将所有内容一次性相加并更新。
我是一名优秀的程序员,十分优秀!