page contents

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

你是不是也被斐波那契数列的代码绕晕过?一会儿临时变量,一会儿交换顺序,看得头都大了?别慌!今天我们用最直白的变量名 + 最清晰的顺序,把它拆解得明明白白,新手也能一看就懂!

attachments-2026-05-tMjrLW066a02826d48b07.png你是不是也被斐波那契数列的代码绕晕过?一会儿临时变量,一会儿交换顺序,看得头都大了?别慌!今天我们用最直白的变量名 + 最清晰的顺序,把它拆解得明明白白,新手也能一看就懂!

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

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

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

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

num_1:当前的第一个数

num_2:当前的第二个数

num_3:我们要算出来的第三个数

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

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

# 1. 先定好前两个数(数列的开头)

num_1 = 1

num_2 = 1

# 2. 先算新数:第三个数 = 前两个数相加

num_3 = num_2 + num_1  # 1 + 1 = 2 ✅

# 3. 再挪位置:为了算下一个数,更新前两个数

num_1 = num_2         # 原来的第二个数,变成新的第一个数

num_2 = num_3         # 刚算出来的新数,变成新的第二个数

为什么顺序绝对不能乱?

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

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

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

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

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

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

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

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

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

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

# 初始化前两个数

num_1 = 1

num_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

四、新手避坑小总结

变量名别偷懒:用num_1/num_2/num_3比t/a/b直观 100 倍,自己看代码都不懵!

顺序是生命线:先算新数 → 再更新num_1 → 最后更新num_2,一步都不能乱!

循环次数别数错:前两个数先打印,后面循环目标数-2次,就不会多算少算啦。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2026-05-12 09:29
  • 阅读 ( 28 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

2059 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 2228 文章
  3. Pack 2059 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章