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

如何生成指定序列1,2,2,3,4,4,5?现有Python代码输出异常求解

解决方法:生成目标序列1,2,2,3,4,4,5

先明确目标序列的规律:值按1、2、3、4、5递增,其中第2、4个值重复2次,第1、3、5个值仅出现1次,最终组合成[1,2,2,3,4,4,5]。

你的代码输出不符合预期,核心问题是处理重复长度的组时,没有让同一个值重复对应次数,而是逐个递增取值——比如你输出里的3,3,实际应该是在值为2的时候完成两次重复。

以下是实现目标序列的极简Python代码:

result = []
current_num = 1
# 对应每个值的重复次数:1次、2次、1次、2次、1次
repeat_counts = [1, 2, 1, 2, 1]

for count in repeat_counts:
    result.extend([current_num] * count)
    current_num += 1

print(",".join(map(str, result)))

运行后会输出:1,2,2,3,4,4,5,完全匹配需求。

如果要支持生成更长的序列(按1、2交替重复次数),可以用循环动态切换重复次数:

result = []
current_num = 1
repeat = 1  # 初始重复次数为1,之后交替切换
# 生成到数字5,循环5次
for _ in range(5):
    result.extend([current_num] * repeat)
    repeat = 2 if repeat == 1 else 1
    current_num += 1

print(",".join(map(str, result)))

你可以对照自己的代码检查:是不是在处理重复组的过程中,错误地让current_num在组内递增,而非保持同一个值直到完成当前组的长度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:45:30