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

如何用Python在一行中打印斐波那契数列?

一行打印斐波那契数列的实现方案

针对你现有代码的快速修改

你当前的代码会逐个打印每个斐波那契数并自动换行,只需修改print的参数就能实现一行输出:

n = int(input("Enter n: "))  # 转换为整数,补上原代码未使用的输入变量

def fib(n):
    cur = 1
    old = 1
    i = 1
    while i < n:
        cur, old, i = cur + old, cur, i + 1
    return cur

# 用end参数控制每个打印后不换行,用空格分隔
for i in range(n):
    print(fib(i), end=' ')
# 最后手动换行,避免后续输出跟在同一行
print()

运行后,所有斐波那契数会在同一行以空格分隔输出。

更高效的实现方式

你当前的fib函数每次调用都会重新计算,当n较大时效率很低。推荐直接生成完整的斐波那契序列,再一次性打印:

n = int(input("Enter n: "))

def generate_fib_sequence(terms):
    fib_seq = []
    a, b = 0, 1  # 常规斐波那契数列起始:第0项0,第1项1
    for _ in range(terms):
        fib_seq.append(a)
        a, b = b, a + b
    return fib_seq

# 生成序列后,转为字符串并用空格连接,一行打印
print(' '.join(map(str, generate_fib_sequence(n))))

这个方案只需要一次迭代生成所有项,效率更高也更易维护。如果需要和你原代码的数列起始一致(从1开始),只需把a, b = 0, 1改成a, b = 1, 1即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 08:20:27