gpt4 book ai didi

Python斐波那契数列

转载 作者:太空宇宙 更新时间:2023-11-03 12:57:16 25 4
gpt4 key购买 nike

我用 Python 写了一个斐波那契数列。无法弄清楚为什么第二个程序给出错误答案而第一个程序给出正确答案,但两者看起来都一样。

下面的程序给出了正确答案

def fib(n):
a,b=0,1
while b<n:
print b
a,b=b,a+b

fib(4)
1
1
2
3

下面的程序给出了错误的答案:

def fib(n):
a = 0
b = 1
while b<n:
print b
a = b
b = a+b

fib(4)

1
2

最佳答案

在第一个中,a, b = b, a+b 同时进行赋值。
在第二个中,您首先执行 a = b,然后执行 b = a+b,实际上只是 b = 2*b

如何在第二个中实现这样的行为?使用临时值存储a

def fib(n):
a = 0
b = 1
while b<n:
print b
temp = a
a = b
b = temp+b
fib(4)

>>>1
>>>1
>>>2
>>>3

关于Python斐波那契数列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36360381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com