如何在数组+ PYTHON中输入?

时间:2011-10-21 05:03:06

标签: python

嗨,我是python的新手,想要在数组中输入。关于数组没有很好地描述python doc。另外我觉得我对python中的for循环有一些打嗝。

我在python中提供了我想要的C代码片段:

C代码:

printf("Enter howmany elements you want: ");
scanf("%d",&n);
printf("Enter the numbers in the array: ")
for(i=0;i<n;i++)
scanf("%d",&arr[i]);

5 个答案:

答案 0 :(得分:13)

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
P.S:我已经打了这一切。语法可能是错误的,但方法是正确的。另外需要注意的一点是,raw_input不进行任何类型检查,因此您需要小心......

答案 1 :(得分:12)

如果没有给出数组中元素的数量,你也可以使用列表理解,如:

str_arr = raw_input().split(' ') //will take in a string of numbers separated by a space
arr = [int(num) for num in str_arr]

答案 2 :(得分:10)

你想要这个 - 输入N然后取N个元素。我在考虑你输入的情况就是这样

5
2 3 6 6 5

在python 3.x中以这种方式使用它(对于python 2.x,使用raw_input()而不是input())

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])

答案 3 :(得分:3)

data = []
n = int(raw_input('Enter how many elements you want: '))
for i in range(0, n):
    x = raw_input('Enter the numbers into the array: ')
    data.append(x)
print(data)

现在,这不会进行任何错误检查,并将数据存储为字符串。

答案 4 :(得分:1)

arr = []
elem = int(raw_input("insert how many elements you want:"))
for i in range(0, elem):
    arr.append(int(raw_input("Enter next no :")))
print arr