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

如何用简单方法实现指定数的斐波那契数列?现有代码仅返回普通求和

生成指定长度斐波那契数列的简单方法

你提供的代码之所以只输出普通求和结果,核心问题是逻辑错误:每次循环都把b重置为1,然后单纯累加循环变量i,完全没遵循斐波那契数列每个数等于前两个数之和的核心规则。

下面是几种简单易懂的实现方式:

基础迭代法(直接打印)

这是最适合初学者的实现,逻辑清晰且高效:

def fib(n):
    # 初始化前两个斐波那契数
    a, b = 0, 1
    for _ in range(n):
        print(a)
        # 同步更新两个变量:a变为原来的b,b变为原来a+b的和
        a, b = b, a + b

# 生成9个斐波那契数
fib(9)

运行后会输出:0, 1, 1, 2, 3, 5, 8, 13, 21

返回结果列表的版本

如果需要把结果存起来后续使用,可以改成返回列表的形式:

def fib(n):
    fib_sequence = []
    a, b = 0, 1
    for _ in range(n):
        fib_sequence.append(a)
        a, b = b, a + b
    return fib_sequence

# 调用并打印结果
print(fib(9))  # 输出 [0, 1, 1, 2, 3, 5, 8, 13, 21]

调整数列起始值

如果希望数列从1, 1开始(部分场景的定义),只需要修改初始值:

def fib(n):
    a, b = 1, 1
    for _ in range(n):
        print(a)
        a, b = b, a + b

fib(9)  # 输出 1, 1, 2, 3, 5, 8, 13, 21, 34

内容的提问来源于stack exchange,提问作者ganesh murthy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:02:13