如何在python中从用户获得N个输入

时间:2015-06-11 16:35:28

标签: python arrays

在我的情况下,我必须得到N不。根据用户输入的输入。我的意思是,

Please enter size of an array:

如果用户输入3或他喜欢的任何内容,那么程序应该在一行中从用户那里获取3个输入,如

1 2 3

并且如果他进入大于3或他进入该计划的内容应该警告他他给出的输入。

有什么办法吗????

我的输入是:

Enter size of an array : 5

我的输出应该是这样的:

1 2 3 4 5

主要的是..........它不应该每次都要求用户输入5个输入,并且还应该检查用户输入的是否正确。投入。

PS:请不要将此标记为"复制"。我搜索了很多,没有找到答案。这就是为什么要问这里的原因。

1 个答案:

答案 0 :(得分:4)

您可以接受他们的输入并将其转换为int

>>> size = int(input('Enter size of array: '))
Enter size of array: 3

然后在range函数中使用此值迭代多次。在列表理解中这样做可以反复询问输入。

>>> values = [int(input('Enter a value: ')) for _ in range(size)]
Enter a value: 3
Enter a value: 5
Enter a value: 7

>>> values
[3, 5, 7]

要以更加循序渐进的方式执行此操作,您可以使用for循环

values = []
for _ in range(size):
    values.append(int(input('Enter a value: ')))

如果您只是想让他们输入一系列价值观,请不要担心会有多少价值。您可以使用split()来标记空格上的字符串(或传入的任何分隔符),然后将每个值转换为int

>>> values = [int(i) for i in input('Enter some values: ').split()]
Enter some values: 3 5 7 8
>>> values
[3, 5, 7, 8]