如何在Python中读取以空格分隔的有限数量的输入?

时间:2018-08-26 17:28:12

标签: python-3.x

在为Codechef中的比赛进行编码时,我遇到了python这个问题,以便阅读

3     # number of required input  
1 4 2 # inputs 

读取我使用的输入:

data=list(map(int,input().split()))

,但它将读取任意数量的输入并将其存储为列表。 如何限制输入大小或列表大小?编写输入时,它应仅接受带空格的输入

2 个答案:

答案 0 :(得分:0)

要用空格分隔输入:

data=list(map(int,input().split(' ')))

要验证是否传递了正确数量的数字:

if len(data) > n: # where n is your number of required input
    # Raise an exception or ask for the input again.

答案 1 :(得分:0)

您可以使用列表理解语法:

req_size = int(input().strip())
data = [int(i) for i in input().strip().split()[:req_size]]

说明:.strip()方法从字符串的开头和结尾删除\n和其他空格符号。 .split()方法用任何空格符号分割字符串。如果您只想按空格分割,请显式使用''字符:.split(' ')。 Split方法返回列表,您可以使用[:req_size]从中获取firsr req_size元素(stabdart列表语法)。然后,使用列表理解语法(int循环的简写)将for类型应用于您的数据。