Python表格打印问题:如何消除横线与表格间的空行?
问题解决:消除表格横线与内容间的空行
问题出在多余换行符的叠加,两处代码导致了空行:
- 表头行(i=-2)用
end=""强制不换行,随后打印横线的print语句会自动追加换行; - 表格行(i>-1)的
print开头又手动加了\n,等于在横线行后多插了一个空行。
修改后的代码
def pretty_print(board): for i in range(-2, len(board)): if i == -2: print(" ", end="") for k in range(len(board[0])): # 改用board[0]避免单行报错 print(f"{k:<3}", end="") print() # 表头结束后手动换行,衔接横线行 if i == -1: # 直接打印横线,无需额外换行 print(" " + "-" * (len(board[0]) * 3)) if i > -1: # 去掉开头的\n,直接输出行号与竖线 print(f"{i:>2}|", end="") for j in range(len(board[i])): print(f"{board[i][j]} ", end="") print() # 每行内容结束后换行
修改说明
- 表头行结束后手动添加
print(),确保表头和横线行正常衔接; - 横线行直接输出,依赖表头行的换行,不再额外生成换行;
- 表格行去掉开头的
\n,利用横线行的自动换行直接衔接; - 把
len(board[1])改为len(board[0]),避免board只有一行时索引报错; - 行号格式化从
{i:>2.0f}简化为{i:>2},整数无需浮点数格式。
调用pretty_print([['A']*4]*4)后,就能得到你想要的无空行表格格式。
内容的提问来源于stack exchange,提问作者sun_dance
相关产品推荐
相关产品推荐

