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

Python列表生成:按步长6在120-240区间往复生成90个值

问题根因

你的代码仅通过当前数值判断下一步操作,没有单独维护增减方向的状态,自然会出现数值递减到236时触发递增逻辑的问题:236本身确实满足>=120 且 !=240的判断条件,不是语法写错了,是判断逻辑少了方向维度。
另外你的代码还有个隐藏问题:初始e已经包含1个元素,循环执行90次append后,最终列表长度是91,也不符合90个元素的要求。


修复方案

方案1:维护方向变量(易理解,适合新手)

新增一个变量记录当前是递增还是递减状态,只有触达120或240边界时才反转方向:

res = [120]
# 方向标记:1代表递增,-1代表递减
direction = 1
target_length = 90

while len(res) < target_length:
    next_val = res[-1] + direction * 6
    res.append(next_val)
    # 触达边界时反转方向
    if next_val == 240 or next_val == 120:
        direction *= -1

方案2:预生成周期拼接(性能更高,适合大长度需求)

先算出单次完整升降周期的所有元素,再按需要的长度直接拼接,不需要循环判断每一步:

# 生成递增段:120到240
increase_part = list(range(120, 241, 6))
# 生成递减段:234到126(去掉和递增段重复的首尾值240、120)
decrease_part = list(range(234, 120, -6))
# 完整周期:从120升为240再降回126,下次接120刚好完成一个循环
full_cycle = increase_part + decrease_part

# 计算需要的完整周期数和剩余元素数
cycle_count = 90 // len(full_cycle)
remain_count = 90 % len(full_cycle)

# 拼接得到最终90个元素的列表
res = full_cycle * cycle_count + full_cycle[:remain_count]

两种方案输出的结果完全符合需求,你可以直接验证长度和数值变化逻辑。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:39:03