使用Python 3进行管道矩阵输入

时间:2018-05-08 12:44:35

标签: python-3.x input

我将在使用管道时收到我的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程序以使其适用于这两个文件?

0 个答案:

没有答案