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

如何实现两段Python代码的输出在同一区域合并显示?

合并代码输出对齐问题解决方法

我想把两段代码的输出合并,期望呈现的格式是:

0 1 2
0 ? ? ?
1 ? ? ?
2 ? ? ?

但实际输出变成了这样:

0 1 2
0
1
                              ? ? ?
                              ? ? ?

我的代码如下,不知道怎么把输出整合对齐:

import random

rows = [3]
columns = [4]

def rowscol():
    for j in range(columns[0]):
        print(" " * 1, end="")
        print(j, end="")
    print()
    for i in range(rows[0]):
        print(i)
rowscol()

def create_game_board(rows, columns):
    board = [[random.choice("ABCDEFGHIJKLMNOPQRSTUVWXYZ") for _ in range(columns[0])] for _ in range(rows[0])]
    # 如果单元格总数是奇数,把最后一个设为未使用单元格
    if (rows[0] * columns[0]) % 2 != 0:
        board[-1][-1] = "@"
    return board

board = create_game_board(rows,columns)

# 显示游戏板的函数
def display_board(board):
    pad = " " * 30
    for row in board:
        line = pad + " ".join('?' if column != '@' else '@' for column in row)
        print(line)
            
display_board(board)

问题根源

  1. rowscol()打印行号后直接换行,没有预留后续内容的位置
  2. display_board()添加了30个空格的缩进,导致棋盘内容和行号完全脱节

修复后的代码

把行号、列标题和棋盘内容的打印逻辑整合到一个函数里,实现对齐:

import random

rows = [3]
columns = [4]

def create_game_board(rows, columns):
    board = [[random.choice("ABCDEFGHIJKLMNOPQRSTUVWXYZ") for _ in range(columns[0])] for _ in range(rows[0])]
    # 如果单元格总数是奇数,把最后一个设为未使用单元格
    if (rows[0] * columns[0]) % 2 != 0:
        board[-1][-1] = "@"
    return board

board = create_game_board(rows,columns)

# 整合后的对齐显示函数
def display_aligned_board(board, rows, columns):
    # 打印列标题,开头留两个空格匹配行号宽度
    print("  ", end="")
    for j in range(columns[0]):
        print(f"{j} ", end="")
    print()
    # 逐行打印行号和对应棋盘内容
    for i in range(rows[0]):
        print(f"{i} ", end="")
        line = " ".join('?' if col != '@' else '@' for col in board[i])
        print(line)
            
display_aligned_board(board, rows, columns)

修复说明

  • 取消冗余的rowscol()函数,把列标题和行号的打印逻辑合并到统一的显示函数中
  • 列标题前预留两个空格,和行号的宽度对齐,保证整体排版整齐
  • 每行先打印行号,再直接输出对应行的棋盘内容,去掉多余的缩进
  • 用格式化字符串保证每个列号后带空格,进一步优化排版一致性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 13:35:20