当前位置:首页>python>Python 新手必懂:斐波那契数列,就这三行

Python 新手必懂:斐波那契数列,就这三行

  • 2026-10-11 08:05:16
Python 新手必懂:斐波那契数列,就这三行

你是不是也被斐波那契数列的代码绕晕过?

一会儿临时变量,一会儿交换顺序,看得头都大了?

别慌!今天我们用最直白的变量名 + 最清晰的顺序,把它拆解得明明白白,新手也能一看就懂!


一、先搞懂:我们要做什么?

目标很简单:写出斐波那契数列 1, 1, 2, 3, 5, 8... 的计算逻辑。

规则只有一句话:从第三个数开始,每个数 = 前两个数相加。

所以,我们需要三个角色:

  • num_1
    :当前的第一个数
  • num_2
    :当前的第二个数
  • num_3
    :我们要算出来的第三个数

二、核心代码:就这三行,顺序是灵魂!

你写的这段,就是新手最友好、逻辑最清晰的版本,没有之一!

# 1. 先定好前两个数(数列的开头)num_1 = 1num_2 = 1# 2. 先算新数:第三个数 = 前两个数相加num_3 = num_2 + num_1  # 1 + 1 = 2 ✅# 3. 再挪位置:为了算下一个数,更新前两个数num_1 = num_2         # 原来的第二个数,变成新的第一个数num_2 = num_3         # 刚算出来的新数,变成新的第二个数

为什么顺序绝对不能乱?

我用 “数字接力” 给你打个比方,一看就懂:

  1. 先接力(算新数):num_3 = num_2 + num_1

    先把 “接力棒” 接过来,算出下一个数。

  2. 再挪位置(更新 num_1):num_1 = num_2

    原来的第二个数,现在变成第一个数,往前站一步。

  3. 最后上岗(更新 num_2):num_2 = num_3

    刚算出来的新数,补上第二个数的位置。

❌ 要是把顺序反过来,比如先写num_2 = num_3,再写num_1 = num_2,就会出现两个数都变成新数的情况,接力直接断了,数列就错了!


三、完整可运行代码:直接输出 20 个斐波那契数

把上面的逻辑套进循环,就能一口气算出 20 个数,复制就能运行!

# 初始化前两个数num_1 = 1num_2 = 1# 先打印开头两个数print(num_1, num_2, end=" ")# 循环18次,凑够20个数for _ in range(18):    # 1. 算新数    num_3 = num_1 + num_2    # 2. 打印新数    print(num_3, end=" ")    # 3. 更新位置,准备下一次计算    num_1 = num_2    num_2 = num_3

运行结果:

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765


四、新手避坑小总结

  1. 变量名别偷懒
    :用num_1/num_2/num_3比t/a/b直观 100 倍,自己看代码都不懵!
  2. 顺序是生命线
    :先算新数 → 再更新num_1 → 最后更新num_2,一步都不能乱!
  3. 循环次数别数错
    :前两个数先打印,后面循环目标数-2次,就不会多算少算啦。

最新文章

随机文章