【练习】斐波那契数列
项目简介
斐波那契数列
知识模块
- Python 编程语言
知识点
- 分支语句-if
- 递归算法
- 函数返回值与参数处理
受众
- 初级测试开发工程师
- 初级Python开发工程师
作业要求
编写一个Python程序,使用递归算法,生成并输出斐波那契数列的前n项,其中n是用户指定的正整数。斐波那契数列,又称黄金分割数列,指的是:1、1、2、3、5、8、13、21、34....从第三个数开始,每个数字都是前两个数字之和。
解题思路
-
当 n 小于等于 0 时,返回 0。
-
当 n 等于 1 或 2 时,返回 1。
-
否则,计算第 n 项斐波那契数列,即前两项的和。
-
通过递归调用来计算第 n-1 项和第 n-2 项的和,直到 n 为 1 或 2。
完整代码
def fibonacci(n):
if n <= 0:
return 0
elif n == 1 or n == 2:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
# 计算斐波那契数列的第 10 项
n = 10
fib_result = fibonacci(n)
print(f"斐波那契数列的第 {n} 项为:{fib_result}")
代码讲解
-
def fibonacci(n): 这是定义一个名为fibonacci的函数,它接受一个参数n,用于计算斐波那契数列的第 n 项。 -
if n <= 0: 这是一个条件判断语句,用于检查n是否小于等于 0。 -
return 0如果n小于等于 0,返回 0。 -
elif n == 1 or n == 2: 这是另一个条件判断语句,检查n是否等于 1 或 2。 -
return 1如果n等于 1 或 2,返回 1。 -
return fibonacci(n - 1) + fibonacci(n - 2)这是递归的部分。当n大于 2 时,递归地调用fibonacci函数来计算第n-1项和第n-2项的和,然后返回结果。 -
fib_result = fibonacci(n)调用fibonacci函数,传入参数n,计算斐波那契数列的第 10 项。 -
print(f"斐波那契数列的第 {n} 项为:{fib_result}")打印计算结果,显示斐波那契数列的第 10 项的值。