同一行上有N个输入

时间:2018-11-26 21:20:36

标签: python

所以我有这段代码:

N = int(input())
for i in range(N):
    a = input()

其中N应该是玩具的数量,每个“ a”输入应该是每个玩具的字母标识。那就好了,除了应该假定输入在同一行上,并且由于在用户输入之前,不知道N个输入,所以我不能像以前一样真正使用input().split()。你们可以帮我吗?

2 个答案:

答案 0 :(得分:1)

如果我的理解正确,那么您就可以减少其他输入。

>>> N = int(input('toys: '))
toys: 5
>>> ids = input('ids: ').split()[:N]
ids: 1 2 3 4 5 6 7 8 9 10
>>> ids
['1', '2', '3', '4', '5']

将ID映射为整数:

>>> ids = [int(x) for x in input('ids: ').split()[:N]]
ids: 1 2 3 4 5 7 8 9 10
>>> ids
[1, 2, 3, 4, 5]

〜编辑〜

效率更高,因为可能减少拆分的次数:

>>> ids = input('ids: ').split(maxsplit=N)[:N]
ids: 1 2 3 4 5 6 7 8 9 10
>>> ids
['1', '2', '3', '4', '5']

答案 1 :(得分:0)

您实际上不需要获取玩具的数量,因为您可以从输入中推断出玩具的数量。假设玩具的ID用空格分隔:

acc

如果我对您的问题有误解,请告诉我,因为不清楚您到底想要什么。