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

Python打印数字网格时输出为垂直单列,该问题如何解决?

问题原因
  • 代码中print()的缩进位置错误:当前print()被放在了遍历单行元素的内层循环内,每打印一个数字/点就会触发一次换行,因此所有内容会垂直排列。
  • 正确逻辑是整行所有元素打印完成后再执行一次换行,因此要把print()的缩进调整到和内层for循环同级的位置。
修正后代码
grid = [[5, 3, 0, 0, 7, 0, 0, 0, 0],
        [6, 0, 0, 1, 9, 5, 0, 0, 0],
        [0, 9, 8, 0, 0, 0, 0, 6, 0],
        [8, 0, 0, 0, 6, 0, 0, 0, 3],
        [4, 0, 0, 8, 0, 3, 0, 0, 1],
        [7, 0, 0, 0, 2, 0, 0, 0, 6],
        [0, 6, 0, 0, 0, 0, 2, 8, 0],
        [0, 0, 0, 4, 1, 9, 0, 0, 5],
        [0, 0, 0, 0, 8, 0, 0, 7, 9]]


def print_grid():
    for line in grid:
        for square in line:
            if square == 0:
                print(".", end=" ")
            else:
                print(square, end=" ")
        # 一行所有元素打印完成后再换行
        print()


print_grid()

运行修正后的代码会正常输出9行9列的网格结构,每个元素横向排列,符合数字块的展示要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:15:04