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

Python开发Mastermind游戏:如何从shuffle后的6字符列表取固定4个字符

问题解答

random.shuffle() 是直接修改原列表、打乱全部元素的内置方法,本身不支持k参数,也不会返回新的序列对象。你需要从6种颜色里随机取4个不重复的作为密码,可直接用以下两种方案实现:

  • 方案1:打乱后切片取值
    现有代码只需要加一行切片操作,取打乱后列表的前4个元素即可:
    colorCode = ['r','b','g','y','p','o']
    random.shuffle(colorCode)
    colorCode = colorCode[:4] # 新增本行,截取前4位作为目标密码
    
  • 方案2:使用random.sample()(更推荐)
    这个方法专门用于从指定序列中随机取出k个不重复的元素,不需要手动打乱再切割,一行代码就能完成密码生成:
    # 直接从6色列表中取4个不重复的随机元素作为密码
    colorCode = random.sample(['r','b','g','y','p','o'], k=4)
    

注意:你当前的原代码存在逻辑问题,colorCode是6位长度,而玩家输入的是4位字符串,二者直接对比永远不可能相等,修改密码生成逻辑为4位后,校验逻辑才能正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 17:54:08