gpt4 book ai didi

python - 递归函数即使在调用 return 时也会无限运行

转载 作者:行者123 更新时间:2023-12-01 00:38:16 25 4
gpt4 key购买 nike

我创建了一个基本的 python 函数来递归打印斐波那契数。然而,打印完所有数字后,它会继续无限打印 0

我尝试使用 return 关键字并在前面添加 if 语句来检查变量是否大于应有的大小,但仍然不起作用

class RecFibonnacci:

def recFib(self, firstTerm, secondTerm):
Fterm = firstTerm
Sterm = secondTerm

if Fterm <= 1000:
print(Fterm)
tempStrg = Fterm
Sterm += Fterm
Fterm = tempStrg
self.recFib(Fterm, Sterm)
return

if __name__ == '__main__':
recFibonacci = RecFibonnacci()
recFibonacci.recFib(0, 1)

它应该打印从 1 到 987 的所有斐波那契数。它打印它们,但之后,它永远打印 0

最佳答案

虽然其他答案可能会产生工作代码,但您需要了解您正在尝试做的事情相当于

def recFib(self, firstTerm, secondTerm):
if firstTerm <= 1000:
print(firstTerm)
self.recFib(secondTerm, firstTerm + secondTerm)
return

关于python - 递归函数即使在调用 return 时也会无限运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57574841/

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