如何在一条线上接受未知数量的输入?
问题描述:
我知道如何在一条线上接受多个输入,但我只能这样做,如果输入的数量是预先定义的。在这个代码段:如何在一条线上接受未知数量的输入?
rows, tile1, tile2, column, tile3 = map(int, input().split(" "))
我想要的输入的数量中的行和列之间以依赖于行输入的号码,我想输入的数目后柱依赖于在列输入的号码,但我无法弄清楚如何做到这一点。
答
在Python 3,你可以使用这个语法:
a, b, c, d, *e = map(int, input().split())
a
,b
,c
和d
将是前四个值,并e
将所有剩余值的列表。
在你的情况,你需要做这样的事情:
rows, *rest = map(int, input().split())
因为你不知道在哪个位置column
值将是,我怕你会无法使用此功能来实现您想要的功能。
如果你能够让其他部分之前用户输入都rows
和columns
,你可以做这样的:
rows, columns, *tiles = map(int, input().split())
然后你可以参考具体的瓦片tiles[0]
,tiles[1]
等。
这很有道理。我从来没有想过使用星号运算符。谢谢! – str1kebeam
@ str1kebeam - [Extended Iterable Unpacking](https://www.python.org/dev/peps/pep-3132/) – wwii