如何使用单个变量在Python中实现斐波那契数列输出?
当然可以用单个变量实现斐波那契数列的输出!你原来的双变量写法很经典,而用单个变量的核心思路是把需要的两个状态值打包到一个复合类型的变量中(比如元组),用一个变量来承载原本两个变量的信息。
下面是匹配你原有输出逻辑的Python代码:
# 单个元组变量实现斐波那契数列输出 fib = (1, 1) while fib[0] + fib[1] < 100: fib = (fib[1], fib[0] + fib[1]) print(fib[1])
代码解释:
- 我们用单个变量
fib存储一个元组,元组的两个元素分别对应你原来代码里的nmbr2和nmbr1(或者说数列的前两个相邻值)。 - 每次循环中,我们通过元组赋值的方式更新
fib:新的元组第一个元素是原来的第二个元素,第二个元素是前两个元素的和——这和你原来nmbr1, nmbr2 = nmbr1 + nmbr2, nmbr1的逻辑完全一致,只不过把两个变量合并成了一个元组变量。 - 循环条件和输出逻辑也和你的原代码对齐,最终会输出
2, 3, 5, 8, 13, 21, 34, 55, 89这些小于100的斐波那契数。
如果你追求极致的“单个变量”表现形式,也可以用列表变量替代元组(本质都是复合类型),但元组在这里更简洁高效。
内容的提问来源于stack exchange,提问作者Mast3r_Heath




