Skip to content

【练习】斐波那契数列

项目简介

斐波那契数列

知识模块

  • Python 编程语言

知识点

  • 分支语句-if
  • 递归算法
  • 函数返回值与参数处理

受众

  • 初级测试开发工程师
  • 初级Python开发工程师

作业要求

编写一个Python程序,使用递归算法,生成并输出斐波那契数列的前n项,其中n是用户指定的正整数。斐波那契数列,又称黄金分割数列,指的是:1、1、2、3、5、8、13、21、34....从第三个数开始,每个数字都是前两个数字之和。

解题思路

  1. 当 n 小于等于 0 时,返回 0。

  2. 当 n 等于 1 或 2 时,返回 1。

  3. 否则,计算第 n 项斐波那契数列,即前两项的和。

  4. 通过递归调用来计算第 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}")

代码讲解

  1. def fibonacci(n): 这是定义一个名为 fibonacci 的函数,它接受一个参数 n,用于计算斐波那契数列的第 n 项。

  2. if n <= 0: 这是一个条件判断语句,用于检查 n 是否小于等于 0。

  3. return 0 如果 n 小于等于 0,返回 0。

  4. elif n == 1 or n == 2: 这是另一个条件判断语句,检查 n 是否等于 1 或 2。

  5. return 1 如果 n 等于 1 或 2,返回 1。

  6. return fibonacci(n - 1) + fibonacci(n - 2) 这是递归的部分。当 n 大于 2 时,递归地调用 fibonacci 函数来计算第 n-1 项和第 n-2 项的和,然后返回结果。

  7. fib_result = fibonacci(n) 调用 fibonacci 函数,传入参数 n,计算斐波那契数列的第 10 项。

  8. print(f"斐波那契数列的第 {n} 项为:{fib_result}") 打印计算结果,显示斐波那契数列的第 10 项的值。