2
我知道如何在一條線上接受多個輸入,但我只能這樣做,如果輸入的數量是預先定義的。在這個代碼段:如何在一條線上接受未知數量的輸入?
rows, tile1, tile2, column, tile3 = map(int, input().split(" "))
我想要的輸入的數量中的行和列之間以依賴於行輸入的號碼,我想輸入的數目後柱依賴於在列輸入的號碼,但我無法弄清楚如何做到這一點。
我知道如何在一條線上接受多個輸入,但我只能這樣做,如果輸入的數量是預先定義的。在這個代碼段:如何在一條線上接受未知數量的輸入?
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