我将在使用管道时收到我的python脚本的输入。前两个元素是矩阵中的列数和行数,后跟矩阵的元素。
cat input | python3 matrix.py
问题是文件可能在一行中包含一个矩阵元素,或在一行中包含整个矩阵行。
为此编写C程序很简单。 scanf()会在遇到空格时自动启动新输入,无论是空格还是新行,但python不是这样。
考虑以下两个输入文件:
档案1
2
2
1 2
3 4
文件2
2
2
1
2
3
4
和以下输入功能:
def getter():
col = int(input())
row = int(input())
matrix = []
for i in range(0, row):
temp = input()
matrix.append(temp)
此功能适用于文件1,但不适用于文件2.但是,如果我将循环更改为:
for i in range(0,row):
temp = []
for j in range(0,col):
temp.append(int(input))
matrix.append(temp)
然后这适用于文件2而不适用于文件1.
是否有一种通用的方法来编写python3程序以使其适用于这两个文件?