You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python实现不含0、以1开头的Fibonacci数列?

解决以1开头的斐波那契数列输出问题

针对你的需求,这里提供两种不影响核心逻辑的修改方案:

方案一:调整初始值,直接生成以1开头的数列

如果需要输出MAX个以1开头的斐波那契数,只需修改初始的n1和n2值,让数列从1开始生成:

MAX = 17
n1, n2 = 1, 1
i = 0
while i < MAX:
    print(n1)
    nth = n1 + n2
    n1 = n2
    n2 = nth
    i += 1

执行后会输出17个以1开头的数,最后一项为1597,完全符合斐波那契数列的生成逻辑。

方案二:保留原初始逻辑,过滤掉开头的0

如果想保留原代码的初始值设定(n1=0, n2=1),只需在打印时跳过第一个0即可,这样输出的数量会比MAX少1个,和你给出的示例完全匹配:

MAX = 17
n1, n2 = 0, 1
i = 0
while i < MAX:
    if n1 != 0:
        print(n1)
    nth = n1 + n2
    n1 = n2
    n2 = nth
    i += 1

执行后会输出你示例中的16个数:1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987。

内容的提问来源于stack exchange,提问作者Allen C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 09:50:40