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

Python生成特定数字序列:连续两数重复两次后跳过一数

解决方案

你的现有代码问题在于没有跳过每两个连续数字后的第三个数字,而是将范围内所有数字都重复了两次。以下是两种符合规则的实现方式:

方法1:列表推导式(简洁高效)

利用数学条件筛选需要保留的数字:当数字除以3的余数不为2时,将其重复两次。这正好匹配你的规则——保留连续两个数字(余数0、1),跳过第三个(余数2)。

numrange = 10
numsequence = [i for i in range(numrange) if i % 3 != 2 for _ in range(2)]
print(numsequence)

运行结果:

[0, 0, 1, 1, 3, 3, 4, 4, 6, 6, 7, 7, 9, 9]

方法2:循环实现(逻辑直观)

通过循环逐个处理数字,先添加两个连续数字各两次,再主动跳过一个数字,直到超出指定范围:

numrange = 10
numsequence = []
current = 0

while current < numrange:
    # 添加第一个数字两次
    numsequence += [current, current]
    current += 1
    # 未超出范围则添加第二个数字两次
    if current < numrange:
        numsequence += [current, current]
        current += 1
    # 跳过第三个数字
    current += 1

print(numsequence)

运行结果和方法1一致,适合需要更清晰理解逻辑的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 12:23:03