import math
error=True
while error:
n=int(input('请输入矩阵行数n: '))
str1=input('请输入第一组nn个数字 用空格隔开 :')
str2=input('请输入第二组nn个数字 用空格隔开 :')
x=[int(i) for i in str1.split(' ')]
y=[int(j) for j in str2.split(' ')]
# 以空格为间隔 读取所输入的数字
xx=math.floor(math.sqrt(len(x)))
yy=math.floor(math.sqrt(len(y)))
# 将所读取的数字个数进行开方 并返回开放后的下舍整数 目的是为了检测所输入的数字个数是否与输入的n2相等
if xxn and xx != 1 and yyn and yy !=1:
error=False
# 当所输入的数字个数与nn相等 跳出循环 否则提示用户输入数字个数有误
else:
print('您输入的数字个数有错误 无法构成nn矩阵')
xx2=[]
yy2=[]
for i in range(n):
xy=[]
xz=[]
for j in range(n):
xy.append(x[in+j])
xz.append(y[i*n+j])
xx2.append(xy)
yy2.append(xz)
# 将输入的两组数变成n**n的两个矩阵
xxx=[]
i=0
while i < n:
j=0
xx1=[]
while j < n:
k=0
r=0
while k < n:
r+=xx2[i][k]*yy2[k][j]
k+=1
# 控制第一个矩阵列数的增加和第二个矩阵行数的增加
j+=1
xx1.append(r)
xxx.append(xx1)
i+=1
print(int(xxx))
达到以下的输出格式
希望各位大佬能进行以下讲解 万分感谢
目前的得到的输出是列表 数值是正确的 只是格式不正确
– 厄文 4年前建议改进一下排版,支持 markdown 语法
– dudu 4年前