python 中矩阵运算的用户输入
Inputs from a user for matrix operations in 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
我在获取输入并将它们放入矩阵时遇到问题。
您可以将输入流视为使用 \n
符号分成几行的连续字符串。
为了快速将 txt 文件作为输入传递给您的程序,您可以在 cmd console/unix 终端中执行下一步操作:
在Linux/Windows中:
python code.py < input.txt
此处您在 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]]
这是我使用列表解析在 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 < input.txt
此处您在 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]]