如何在一条线上接受未知数量的输入?

时间:2017-02-25 15:56:17

标签: python

我知道如何在一行上接受多个输入,但我只能在预先定义输入数量时才这样做。在此代码段中:

rows, tile1, tile2, column, tile3 = map(int, input().split(" "))

我希望行和列之间的输入数量取决于行中输入的数字,我希望列之后的输入数量取决于列中输入的数字,但我无法弄清楚如何要做到这一点。

1 个答案:

答案 0 :(得分:3)

在Python 3中,您可以使用以下语法:

a, b, c, d, *e = map(int, input().split())

abcd将是前四个值,e将是所有剩余值的列表。< / p>

在你的情况下,你需要做这样的事情:

rows, *rest = map(int, input().split())

由于您不知道column值的位置,我担心您无法将此功能用于您想要实现的目标。

如果您可以让用户在其他人之前同时输入rowscolumns,则可以这样做:

rows, columns, *tiles = map(int, input().split())

然后您可以将特定图块称为tiles[0]tiles[1]等等。