Python 程序:使用递归显示斐波那契数列


2022年5月4日, Learn eTutorial
1387

在这个简单的 Python 程序中,我们需要生成斐波那契数列。这是一个初学者级别的 Python 程序。

要理解这个例子,您应该了解以下 Python 编程主题

如何在 Python 中使用递归生成斐波那契数列?

斐波那契数列是一系列数字,通过将前两个数字相加来计算。例如,从零开始,该数列将是 0, 1, 1, 2, 3, 5... 我们在之前的 Python 程序中已经讨论过斐波那契数列。在本 Python 程序示例中,我们使用递归来打印斐波那契数列。因此,我们必须知道 Python 中的递归是什么? 递归被定义为一个直接或间接调用自身的函数。在这个简单的 Python 程序中,我们使用递归,这意味着我们每次都用一个小于 1 的数字调用函数本身,直到 n 小于或等于一。

在这个初学者 Python 程序中,我们需要接受斐波那契数列所需的项数,并将该值存储在一个变量中。使用 Python 中的 if 条件检查 num 是否小于或等于零,如果是,则显示“输入正整数”,否则使用 for 循环直到 nterms 并调用斐波那契函数。在该函数内部,我们检查 n 是否小于或等于 1。如果是,则返回数字 n。否则递归调用该函数。

算法

步骤 1: 使用 Python 语言中的 input 函数从用户那里获取 n 的值,并将其存储在 nterms 中。

步骤 2: 使用 if 条件检查 nterms 是否小于零,如果条件满足,我们必须打印“请输入一个正整数”。

步骤 3: 使用 else 打印斐波那契数列。

步骤 4: 使用从 1nterms 的 for 循环,调用函数 fibo() 并使用 Python 编程语言中的 print 打印结果。

定义函数 fibo(n)

步骤 1: 检查 n(用户参数)是否小于或等于 1

步骤 2: 如果是,则返回 n 的值。

步骤 3: 否则,调用函数,传入参数 n-1n-2

步骤 4:n-1 n-2 的值返回给 Python 编程语言。

Python 源代码

                                          def fibo(n):  
   if n <= 1:  
       return n  
   else:  
       return(fibo(n-1) + fibo(n-2))  

n = int(input("How many numbers? "))  

if n <= 0:  
   print("Please enter a positive integer")  
else:  
   print("Fibonacci sequence:")  
   for i in range(n):  
       print(fibo(i))  
                                      

输出

How many terms? 5

Fibonacci Series

0
1
1
2
3