首页 > 解决方案 > 来自用户的输入,用于 python 中的矩阵运算

问题描述

这是我使用列表推导在 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

我无法获取输入并将它们放入矩阵中。

标签: pythonlistmatrix2d

解决方案


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

在 Linux/Windows 中:

python code.py < input.txt

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


推荐阅读