python - 如何在一行上接受未知数量的输入?

标签 python

我知道如何在一行上接受多个输入,但只有在输入数量是预先定义的情况下我才能做到这一点。在此代码段中:

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

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

最佳答案

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

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

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

就您而言,您需要执行以下操作:

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

由于您不知道column值将在哪个位置,恐怕您将无法使用此功能来实现您想要实现的目的。

如果您可以让用户在其余部分之前输入,您可以这样做:

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

然后您可以将特定图 block 引用为 tiles[0]tiles[1] 等。

关于python - 如何在一行上接受未知数量的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42458202/

相关文章:

python - 将不带引号的列表参数传递给脚本

python - doctest 中的链式异常

python - 将 sympy 中的变量定义为 CONSTANT

python - 如何在不中断音乐/其他声音播放的情况下在 Python 中播放声音

python - 网页抓取多个相似页面

python - 诊断间歇性/"lagged"Websocket数据收集

Python: pickle 模块的替代方法

python - BeautifulSoup 返回过多的 <meta> 标签内容

python - 如何使用python比较大圆距离和两个球面点的欧氏距离?

python - python 中的文字角色扮演游戏