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

Python上下车率多轮迭代计算代码打印异常问题排查

问题原因

你当前使用了两层嵌套循环:

  • 外层循环执行次数为你指定的迭代次数(10次)
  • 内层循环遍历boarding和exiting的配对结果,这两个列表长度均为3,因此每触发一次外层循环,内层都会完整执行3次遍历、打印3条结果,所以会出现你遇到的每轮迭代输出3次的问题。

除此之外你的代码还有两处逻辑错误:

  1. 第一轮迭代时每次进入内层循环都会将current重置为0,无法保留上一组数据的计算结果
  2. 非第一轮的数值计算逻辑多写了一次加x的操作,计算结果不符合逻辑
解决方法

如果你的需求是每轮迭代按顺序取一组boarding和exiting的值,列表遍历完后从头开始,取满指定迭代次数,可以去掉嵌套循环,用下标取数的方式实现,修正后的代码如下:

iterations = 10
boarding = [10, 20, 10]
exiting = [30, 25, 15]
current = 0
list_length = len(boarding)
for e in range(1, iterations + 1):
    # 用取余运算实现列表循环取值
    current_idx = (e - 1) % list_length
    x, y = boarding[current_idx], exiting[current_idx]
    if e == 1:
        current = 0
    else:
        # 修正计算逻辑:当前值 = 旧有值 - 下车人数 + 上车人数
        current = current - min(current, y) + x
    print('{0:^10d}{1:^10d}{2:^10d}{3:^10d}'.format(e, current, x, y))

运行后每轮迭代仅输出1条结果,共10条,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:15:04