Python 错误只有整数标量数组才能转换为for循环中的标量索引

Python 错误只有整数标量数组才能转换为for循环中的标量索引,python,arrays,numpy,Python,Arrays,Numpy,下面的代码出现错误“只有整数标量数组可以转换为标量索引”,我想知道在“范围内的I(a_int)”中应该使用什么 输入一组数字并返回整数数组的简单脚本: In [2]: a = int(input()) ...: b = [] ...: for i in range(a): ...: b.append(input()) ...: c = np.array(b, int) 4 1 2 3 4 In [3]: a Out[3]: 4 In [4]: b Out[4]:

下面的代码出现错误“只有整数标量数组可以转换为标量索引”,我想知道在“范围内的I(a_int)”中应该使用什么


输入一组数字并返回整数数组的简单脚本:

In [2]: a = int(input())
   ...: b = []
   ...: for i in range(a):
   ...:     b.append(input())
   ...: c = np.array(b, int)
4
1
2
3
4
In [3]: a
Out[3]: 4
In [4]: b
Out[4]: ['1', '2', '3', '4']
In [5]: c
Out[5]: array([1, 2, 3, 4])
或者更简单地说:

In [6]: b = np.array(input().split(), int)
1 2 3 4
In [7]: b
Out[7]: array([1, 2, 3, 4])
但是通过
input
要求用户输入大量数字对您和您的用户来说都是一件痛苦的事情。例如,输入4个数字是可以的,但我不会要求任何人输入100(

对于很多数字,从文件中读取它们,用户可以在文件中输入它们并进行所需的编辑


使用
input()
在初学者的脚本中很常见,但在高级或专业代码中几乎从未使用过。

尝试
在a_int中输入i:
作为输入传递什么?
a=np.array(input().split(),dtype=int)
应该可以创建一个数字数组。但不要将该数组用作
范围的输入。如果您想要
范围的一个数字,只需使用
a=int(input())
。当只需要一个数字时,不要尝试创建数组。因为a_int中的i只会给我一次迭代。假设a_int是4,那么我需要4次For循环迭代来保存用户在终端中输入的输入。
For i in range(4):
进行4次迭代。在不使用
numpy
的情况下,先使用
input
for
进行练习。您还不太了解基本Python。
In [6]: b = np.array(input().split(), int)
1 2 3 4
In [7]: b
Out[7]: array([1, 2, 3, 4])
In [8]: b = np.array([1,2,3,4])
In [9]: b
Out[9]: array([1, 2, 3, 4])