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

如何修改Python斐波那契代码,使其在数值超过指定阈值时停止输出

修改斐波那契数列生成逻辑:按阈值停止输出

原代码通过调用fib(n)生成第n个斐波那契数,再循环指定次数输出,无法根据数值阈值控制停止时机。以下是两种实现按阈值停止输出的方案:

方案一:高效迭代实现(推荐)

这种方式无需重复计算,一次迭代即可完成序列生成与判断:

def fib_until_threshold(threshold):
    a, b = 0, 1
    while b <= threshold:
        print(b)
        a, b = b, a + b

# 调用示例:设置阈值为10,输出到不超过10的最后一个斐波那契数
fib_until_threshold(10)

逻辑说明

  • 初始化斐波那契序列的前两个数a=0、b=1
  • 使用while循环判断当前待输出的数b是否小于等于设定阈值
  • 输出b后,更新a和b为序列的下一组数(a替换为原b,b替换为原a与b的和)
  • 当b超过阈值时,循环自动终止,停止输出

方案二:基于原函数调整循环逻辑

如果想保留原fib(n)函数的结构,可以修改外层循环逻辑,通过判断每次生成的数值是否超过阈值来控制停止:

def fib(n):
    a = 0
    b = 1
    for k in range(n):
        c = b + a
        a = b
        b = c
    return a

threshold = 10
x = 0
while True:
    current_num = fib(x)
    if current_num > threshold:
        break
    print(current_num)
    x += 1

注意事项

这种方式每次调用fib(x)都会重新计算从第0项到第x项的斐波那契数,当阈值较大时效率较低,因此更推荐方案一。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 18:05:33