我是Python的新手,我想把键盘输入读入数组。python文档没有很好地描述数组。另外,我认为我在Python中的for循环中遇到了一些问题。
我给出了我在python中想要的C代码片段:
C代码:
int i;
printf("Enter how many elements you want: ");
scanf("%d", &n);
printf("Enter the numbers in the array: ");
for (i = 0; i < n; i++)
scanf("%d", &arr[i]);发布于 2011-10-21 13:12:09
raw_input在这里是你的帮手。从文档中-
如果存在prompt参数,则将其写入标准输出,不带尾随换行符。然后,该函数从输入中读取一行,将其转换为字符串(去掉尾随的换行符),并返回该字符串。当读取EOF时,将引发EOFError。
所以你的代码基本上看起来像这样。
num_array = list()
num = raw_input("Enter how many elements you want:")
print 'Enter numbers in array: '
for i in range(int(num)):
n = raw_input("num :")
num_array.append(int(n))
print 'ARRAY: ',num_array附言:我已经把这些空闲的手都打出来了。语法可能是错误的,但方法是正确的。还有一件事需要注意,raw_input不做任何类型检查,所以你需要小心……
发布于 2016-03-03 00:57:39
您想要这样-输入N,然后获取N个元素。我正在考虑您的输入大小写如下
5
2 3 6 6 5在Python3.x中这样做(对于Python2.x,如果是input(),则使用raw_input() )
Python 3
n = int(input())
arr = input() # takes the whole line of n numbers
l = list(map(int,arr.split(' '))) # split those numbers with space( becomes ['2','3','6','6','5']) and then map every element into int (becomes [2,3,6,6,5])Python 2
n = int(raw_input())
arr = raw_input() # takes the whole line of n numbers
l = list(map(int,arr.split(' '))) # split those numbers with space( becomes ['2','3','6','6','5']) and then map every element into int (becomes [2,3,6,6,5])发布于 2014-10-21 03:26:33
如果没有给出数组中元素的数量,您也可以使用列表理解,如下所示:
str_arr = raw_input().split(' ') //will take in a string of numbers separated by a space
arr = [int(num) for num in str_arr]https://stackoverflow.com/questions/7845165
复制相似问题