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

求助:实现可绘制任意指定参数网格的Python函数

解决Python任意规格网格绘制的问题

我来帮你搞定这个网格绘制的难题!你的现有代码只能生成固定3行单元格的网格,而且列方向的格式适配不够灵活,咱们来改造一下,让函数能完全支持任意行数、列数,甚至还能自定义单元格的大小。

先分析现有代码的局限

你的代码里有这些固定化的问题:

  • 硬编码了3行|...|单元格内容,无法调整单元格的高度
  • 列分隔线的格式用了固定的{:10}对齐,当列数变化时会出现格式错乱
  • 网格的开头和结尾没有统一的+符号,样式不够规范

改进后的通用网格绘制函数

下面是一个灵活度拉满的实现,支持自定义列数、行数和单元格大小:

def draw_grid(columns, rows, cell_size=3):
    # 生成水平分隔线:开头是+,每个列对应---+,最后自动闭合
    horizontal_divider = "+" + ("-" * cell_size + "+") * columns
    # 生成单元格内容行:开头是|,每个列对应cell_size个空格+|,最后闭合
    cell_content_line = "|" + (" " * cell_size + "|") * columns
    
    # 循环绘制每一行网格单元
    for _ in range(rows):
        # 先打印当前行的顶部分隔线
        print(horizontal_divider)
        # 每个单元格的高度是cell_size行,所以重复打印内容行
        for _ in range(cell_size):
            print(cell_content_line)
    # 打印网格底部的最后一条分隔线
    print(horizontal_divider)

怎么使用这个函数

  • 基础用法:绘制2列2行的标准网格(单元格默认3字符宽高)

    draw_grid(2, 2)
    

    输出效果:

    +---+---+
    |   |   |
    |   |   |
    |   |   |
    +---+---+
    |   |   |
    |   |   |
    |   |   |
    +---+---+
    
  • 自定义单元格大小:绘制3列1行,每个单元格5字符宽高

    draw_grid(3, 1, cell_size=5)
    

    输出效果:

    +-----+-----+-----+
    |     |     |     |
    |     |     |     |
    |     |     |     |
    |     |     |     |
    |     |     |     |
    +-----+-----+-----+
    

改进点说明

  1. 动态生成分隔线:根据列数和单元格大小自动计算水平分隔线,不会出现格式错位
  2. 支持任意行数/列数:参数columns控制列数,rows控制行数,完全灵活
  3. 自定义单元格尺寸:通过cell_size参数可以调整单元格的宽高,适配不同需求
  4. 规范网格样式:网格的四个角都是+符号,每列/每行的分隔都对齐整齐

内容的提问来源于stack exchange,提问作者Intuitive Skamod Anthony

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:18:13