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

Python不使用numpy如何实现排版整齐的矩阵打印?

问题原因

你当前的输出没有做统一的对齐处理,不同位数的浮点数长度不同,直接拼接就会出现排版错位的问题。原代码还存在循环变量j被输入值意外覆盖的小瑕疵,下述方案中已同步修复。

解决方案1:纯原生Python实现(无需安装第三方库)

通过预计算所有元素的最大展示宽度,统一做对齐输出,修改后的完整代码如下:

n = int(input("Digite o número de variáveis do sistema: "))
matriz_A=[]
for i in range(n):
   b=[]
   for j in range(n):
      num = float(input("Digite a entrada ["+str(i+1)+"]["+str(j+1)+"]"))
      b.append(num)
   matriz_A.append(b)

# 计算所有元素的最大字符串宽度,保证列对齐
max_width = max(len(f"{num:.2f}") for row in matriz_A for num in row)
for i in range(n):
    for j in range(n):
        # 按最大宽度右对齐,保留2位小数,*可根据需求调整小数位数和列间距*
        print(f"{matriz_A[i][j]:.2f}".rjust(max_width + 2), end="")
    print()

你可以自行调整代码中的.2f修改保留的小数位数,rjust参数里的+2用来控制列间距,数值越大列之间空隙越大。

解决方案2:使用numpy库简化实现

如果允许使用第三方库,安装numpy后可以直接调用内置的矩阵打印方法,自动处理对齐:

import numpy as np

n = int(input("Digite o número de variáveis do sistema: "))
matriz_A=[]
for i in range(n):
   b=[]
   for j in range(n):
      num = float(input("Digite a entrada ["+str(i+1)+"]["+str(j+1)+"]"))
      b.append(num)
   matriz_A.append(b)

print(np.array(matriz_A))

如果需要调整numpy的打印格式,可以通过np.set_printoptions方法配置小数位数、对齐方式等参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:42:01