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

Python多次shuffle范围数值后extend拼接输出的代码问题排查

Python多组随机洗牌代码问题排查

你的代码存在3个核心逻辑错误,导致无法生成多组结果:

  • 计数组数的变量x被错误放在遍历单组元素的for循环内累加:运行第一组时x会在遍历1-5的过程中快速增加到等于设置的组数2,while循环直接终止,自然无法运行第二组
  • 打印逻辑错误:for循环内你打印的是e[x]而非当前遍历到的元素i,输出内容不符合需求
  • extend用法错误:你每次遍历单个元素时就把整个e列表作为元素追加到d中,而非把洗牌后的整组元素追加到d末尾

修复后可正常运行的代码

import random
a = 1 # 最小值
b = 5 # 最大值
c = 2 # 组数
d = [] # 存储最终所有元素
x = 0
base_list = list(range(a, b+1))

while x < c:
    # 洗牌:直接修改原列表
    random.shuffle(base_list)
    # 把当前洗牌后的整组元素追加到结果列表
    d.extend(base_list)
    # 组数计数+1,放在while循环末尾,每组跑完才计数
    x += 1

# 逐行打印所有结果
for num in d:
    print(num)

运行效果示例(随机结果,每次运行不同)

3
1
5
2
4
2
5
3
1
4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:45:05