【发布时间】:2018-09-02 01:08:05
【问题描述】:
听着,我知道有上千篇关于此的帖子,我花了三个小时查看所有帖子。我知道这段代码不起作用有一个简单的原因,但我想不通。当它运行时,我只希望它返回第 n 个术语。我是 python 新手,也许有一些我没有得到的逻辑。所以当我这样做时:
n = int(input("What Fibonacci number would you like to find? "))
def fib(n):
i = 0
present = 1
previous = 0
while i < n:
nextterm = present + previous
present = previous
previous = nextterm
i = i + 1
print nextterm
print(fib(n))
我明白了:
1
1
2
3
5
None
当我这样做时:
n = int(input("What Fibonacci number would you like to find? "))
def fib(n):
i = 0
present = 1
previous = 0
while i < n:
nextterm = present + previous
present = previous
previous = nextterm
i = i + 1
return nextterm
print(fib(n))
我只得到“1”
我花了很多时间在这上面,我很困惑。有人请修理我!
【问题讨论】:
-
在第一个中,您永远不会返回值。在第二个中,您立即返回。