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

Python绘制美观数字表格的现有代码有无简化方法?

代码优化方案

以下简化后的代码运行效果和你原代码完全一致:

def draw_table(row, column):
    for n in range(1, row * column + 1):
        # 取模判断是否为当前行最后一个单元格,动态设置结尾字符
        end_str = '\n' if n % column == 0 else ''
        # 用格式化自动对齐补空格,无需判断数字位数
        print("[{:<4}]".format(f"{n}."), end=end_str)

draw_table(6, 3)

如果想要更简洁的写法,也可以用迭代器按行生成:

def draw_table(row, col):
    num_iter = iter(range(1, row * col + 1))
    for _ in range(row):
        print(''.join("[{:<4}]".format(f"{next(num_iter)}.") for _ in range(col)))

核心优化点

  • 移除了冗余的数字位数判断:利用Python格式化字符串的左对齐能力,自动将数字+点的内容补空格到固定4位长度,和你原代码的空格填充效果完全一致,省去了多分支判断的重复代码。
  • 去掉了手动维护列计数器的逻辑:要么通过n % column直接判断是否到行尾,要么直接用迭代器按行列拆分输出,无需额外维护计数变量。
  • 合并了重复的打印逻辑:不用分别处理行内单元格和行尾单元格的打印逻辑,仅动态设置print的end参数即可。

内容的提问来源于stack exchange,提问作者Avrum Ben Yishai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 12:42:04