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

如何用Python避免尾随空格并生成理想的8×8网格?

修正方案:生成无尾随空格的8×8网格

你的代码问题出在每个元素后都强制添加了空格,包括每行的最后一个元素,所以会留下尾随空格。下面给两个适合初学者的简单修正方法:

方法1:先收集每行元素再拼接(直观易懂)

先把每行的所有元素存到一个列表里,再用空格把列表元素连接成字符串后打印,这样只会在元素之间加空格,不会出现末尾空格:

n = 8
for i in range(n):
    row_elements = []
    for j in range(n):
        z = i * n + j
        # 给个位数数字补前导空格,保证对齐
        if z < 10:
            row_elements.append(f" {z}")
        else:
            row_elements.append(f"{z}")
    # 用空格拼接所有元素,直接打印整行
    print(' '.join(row_elements))

方法2:用格式化宽度简化代码(更简洁)

可以利用Python格式化字符串的宽度控制,自动给个位数补前导空格,省去if判断:

n = 8
for i in range(n):
    # 用列表推导式生成每行的格式化元素
    row_elements = [f"{i * n + j:2d}" for j in range(n)]
    print(' '.join(row_elements))

这里{z:2d}的意思是:把整数z格式化为宽度为2的字符串,如果是个位数,自动在前面补空格,和你原来的if判断效果完全一样,但代码更短。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 15:01:04