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

如何检查玩家数字列表是否包含指定的获胜三元组组合?

检查玩家是否拥有获胜数字组合的方法

已知条件

  • 获胜组合集合:winValues = [[0,1,2],[3,4,5],[6,7,8],[0,3,6],[1,4,7],[2,5,8],[0,4,8],[2,4,6]]
  • 玩家数字列表:[6,3,2,4,2]

核心思路

判断逻辑很直接:只要玩家的数字列表(去重后)包含任意一组获胜组合的全部三个数字,就判定为拥有获胜组合。玩家列表里的重复数字不影响结果,先去重能减少无效判断。

具体实现步骤

1. 对玩家数字列表去重

把玩家的数字列表转换成集合,自动去除重复项。示例中的玩家列表去重后得到 {2, 3, 4, 6}。

player_nums = [6, 3, 2, 4, 2]
unique_player_nums = set(player_nums)

2. 遍历获胜组合逐一匹配

循环遍历所有获胜组合,检查每一组的三个数字是否全部存在于去重后的玩家数字集合中。只要找到一组符合条件的,就可以直接判定玩家获胜;如果遍历完所有组合都没找到,就判定未获胜。

winValues = [[0,1,2],[3,4,5],[6,7,8],[0,3,6],[1,4,7],[2,5,8],[0,4,8],[2,4,6]]

has_winning_combo = False
for combo in winValues:
    if all(num in unique_player_nums for num in combo):
        has_winning_combo = True
        print(f"玩家拥有获胜组合:{combo}")
        break

if not has_winning_combo:
    print("玩家没有符合规则的获胜数字组合")

3. 结果验证

对比去重后的玩家数字集合 {2, 3, 4, 6} 和所有获胜组合:

  • 最后一组获胜组合 [2, 4, 6] 的三个数字均在玩家集合内,因此该玩家拥有符合规则的获胜数字组合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 20:31:34