【发布时间】:2021-09-17 06:00:17
【问题描述】:
如何修改它以输入具有任何维度的矩阵,如何在不输入 n 的情况下更改 n?
开发一个程序来输入一个任意维度的矩阵并输出该矩阵的转置。当输入 -1 作为输入时,您应该停止接受行。使用 2D(二维)列表来存储矩阵。您应该处理异常,例如检查元素数量不一致的无效行。
注意:打印“无效矩阵”作为元素数量不一致的无效行的错误消息。为您正在处理的任何其他异常打印“错误”。
尝试:
lst=[]
n=4
for i in range(n) :
inp=input()
if inp==-1:
break
marks=inp.split()
mark_list = list(map(int,marks))
lst.append(mark_list)
for j in range(len(lst[0])):
for k in range(len(lst)):
print(lst[k][j],end=" ")
print("\n",end="")
除了 EOFError : 经过 除了索引错误: print("无效矩阵")
【问题讨论】:
-
您将其限制为 4 行。只需将 'n = 4' 和
for i in range(n) :替换为while True:。另外,请注意,您没有按要求检查不连贯的输入(例如,第一行有 4 个元素,第二行有 3 个或 5 个) -
输入以行的形式给出,所以你只需要将第一个输入行的长度设为 n