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

如何在嵌套宾果板列表中高亮显示随机生成的中奖号码?

宾果板中奖号码高亮实现方案

没问题,我来帮你搞定这个需求——只给宾果板里的中奖号码加上[]高亮,其他数字保持原样。下面是完整的可运行代码,以及详细的步骤说明:

import random

# 原始宾果板嵌套列表
bingo_board = [ [" 1", " 2", " 3", " 4", " 5"], 
                [" 6", " 7", " 8", " 9", "10"], 
                ["11", "12", "13", "14", "15"], 
                ["16", "17", "18", "19", "20"], 
                ["21", "22", "23", "24", "25"] ]

# 将嵌套宾果板转换为一维列表,方便抽取中奖号码
numbers = [n for row in bingo_board for n in row]
# 随机选取10个不重复的中奖号码
winning_numbers = random.sample(numbers, 10)

# 遍历宾果板,修改中奖号码的格式
highlighted_board = []
for row in bingo_board:
    highlighted_row = []
    for num in row:
        if num in winning_numbers:
            # 给中奖号码加上[]包围
            highlighted_row.append(f"[{num}]")
        else:
            highlighted_row.append(num)
    highlighted_board.append(highlighted_row)

# 打印处理后的宾果板
for row in highlighted_board:
    print(" | ".join(row))

代码说明:

  • 导入random模块:必须先导入才能使用random.sample生成不重复的随机号码
  • 一维列表转换:用列表推导式把嵌套的二维列表展开成一维,这样random.sample可以直接从中抽取元素
  • 中奖号码匹配:遍历每一行的每个数字,判断是否在中奖号码集合里(如果数据量更大,换成set(winning_numbers)会提升匹配速度)
  • 格式修改与打印:把中奖号码用[]包裹后,用join方法把每行元素用|分隔,打印出来的格式更贴近真实宾果板

举个随机生成的示例输出:

[ 1] |  2 | [ 3] |  4 |  5
 6 | [ 7] |  8 |  9 | [10]
11 | 12 | [13] | 14 | 15
[16] | 17 | 18 | [19] | 20
21 | [22] | 23 | 24 | [25]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:48:06