Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中,如何使用循环从用户处获取作为数组的输入?_Python_Python 3.x - Fatal编程技术网

在python中,如何使用循环从用户处获取作为数组的输入?

在python中,如何使用循环从用户处获取作为数组的输入?,python,python-3.x,Python,Python 3.x,我想从用户那里获取一个输入,以便将数据存储在数组中。假设数组的大小存储在一个变量n中,它被赋值为5。现在我想要一个数组的大小,它只存储基于n的5个值,但在运行时。比如使用arr=input,它应该接受用空格而不是逗号分隔的输入,也就是说它应该接受像12345这样的输入,如果我打印arr,我应该得到上面用逗号分隔的arr[1,2,3,4,5] 输入 我试过这个。我不知道怎么做 如果我必须考虑循环,这是正确的方式-< /P> for i in range(5): arr = list(map

我想从用户那里获取一个输入,以便将数据存储在数组中。假设数组的大小存储在一个变量n中,它被赋值为5。现在我想要一个数组的大小,它只存储基于n的5个值,但在运行时。比如使用arr=input,它应该接受用空格而不是逗号分隔的输入,也就是说它应该接受像12345这样的输入,如果我打印arr,我应该得到上面用逗号分隔的arr[1,2,3,4,5] 输入

我试过这个。我不知道怎么做

如果我必须考虑循环,这是正确的方式-< /P>

for i in range(5):
    arr = list(map(int, input().split(' ')))

我会使用,您不需要循环:

string = input()
arr = list(map(int, string.split(' ')))

您可以使用逗号输入数字,然后进行拆分:

>>> arr = list(map(int, input().split(',')))
1,2,3,4,5
>>> arr
[1, 2, 3, 4, 5]
也可以使用空格:

>>> arr = list(map(int, input().split(' ')))
1 2 3 4 5
>>> arr
[1, 2, 3, 4, 5]
编辑: 如果要使用循环,则代码如下:

>>> n = int(input('How many elements: '))
>>> arr = []
>>> for _ in range(n):
...     arr.append(int(input()))
2
3
4
5
6
>>> arr
[2, 3, 4, 5, 6]

如果您试图将阵列添加到arr

它的输出为12,34

如果您试图向同一arr添加元素

它的输出为12,34


您也可以尝试列表理解:[intx for x in input.split'']让我试试@gavinSorry,如果这样做有效,问题到底是什么?你说你试过一些代码-它做了你期望的吗?如果没有,到底出了什么问题?@gavin,这行不通。我不能像1 2 3 2 2 2那样在外壳中写输入在你的例子中,你似乎在问用户输入的大小5…为什么?上面的代码将把任意大小的输入分块到一个INTS列表中,这是什么意思?这正是OP所做的,只是使用了一个中间变量字符串。它不那么容易混淆。您不需要循环,因为它会自动调整拆分的大小。@James让我试试这个解决方案在循环中似乎不起作用。如果我必须检查该列表,该列表应该只输入数组大小的5倍,那么是什么?我运行它时给了我以下命令-``12[[1],[2]```一行:arr=[[intx for x in input.split']for in range2]
>>> arr = list(map(int, input().split(' ')))
1 2 3 4 5
>>> arr
[1, 2, 3, 4, 5]
>>> n = int(input('How many elements: '))
>>> arr = []
>>> for _ in range(n):
...     arr.append(int(input()))
2
3
4
5
6
>>> arr
[2, 3, 4, 5, 6]
arr=[]
for i in range(2):
    arr.append(list(map(int, input().split(' '))))
print(arr)
[[1, 2], [3, 4]]
arr=[]
for i in range(2):
    arr+=(list(map(int, input().split(' '))))
print(arr)
[1, 2, 3, 4]