python中矩阵运算的用户输入

python中矩阵运算的用户输入,python,list,matrix,2d,Python,List,Matrix,2d,这是我使用列表理解在Python中添加2个矩阵的代码: row, col = map(int, input().split()) mat1 = [[list(map(int, input().split())) for i in range(row)] for j in range(col)] for i in range(row): for j in range(col): print(mat1[i][j], end=" ") print(

这是我使用列表理解在Python中添加2个矩阵的代码:

row, col = map(int, input().split())

mat1 = [[list(map(int, input().split())) for i in range(row)] for j in range(col)]
for i in range(row):
    for j in range(col):
        print(mat1[i][j], end=" ")
    print()

print("\n")

mat2 = [[list(map(int, input().split())) for i in range(row)] for j in range(col)]
for i in range(row):
    for j in range(col):
        print(mat2[i][j], end=" ")
    print()

print("\n")

result = [[0 for i in range(col)] for j in range(row)]
for i in range(row):
    for j in range(col):
        result[i][j] = mat1[i][j] + mat2[i][j]

print("\n")

for i in range(row):
    for j in range(col):
        print(result[i][j], end = " ")
    print()
我能够运行此代码,而无需接受上述表格中的输入,但我在大学里遇到了编码挑战,他们以以下形式提供输入:

2 3
5 -1 3
19 8 4
4 5 -6
1 -2 12

我在获取输入并将其放入矩阵时遇到问题。

您可以将输入流视为使用
\n
符号划分为行的连续字符串。 要快速将txt文件作为输入传递到您的程序,您可以在cmd console/unix终端中执行以下操作:

在Linux/Windows中:

python code.py


这里您在
code.py
中有您的代码,在
input.txt
文件中有您的建议输入,文件末尾有
\n

您不需要使用第二个for循环

 mat1 = [list(map(int, input().split(' '))) for i in range(row) ]
 
输入

 2 6 9
-1 5 10
print(mat1)

 [[2, 6, 9], [-1, 5, 10]]
输出

 2 6 9
-1 5 10
print(mat1)

 [[2, 6, 9], [-1, 5, 10]]

您不需要为循环使用第二个
,只需要为循环使用
。Bcs如果您得到像
3 4 6
这样的输入,那么您将拆分数据,最后得到第一行。因此,请删除第二个for循环,然后重试