获取用户在Python中的输入范围

时间:2011-08-24 13:49:24

标签: python numpy

我试图向用户询问范围(对于数组),即变量的开始,停止和递增。我在查询每个变量时遇到困难而没有分解我的字符串。到目前为止,我有这段代码:

x=numpy.arange(input('Enter Start:'), input('Enter Stop:'),input ('Enter increment:'))

但我想读它:'输入开始,停止,增量:'并允许用户输入三个数字,例如2,10,2,而不是一次输入一个。

我很感激任何建议

3 个答案:

答案 0 :(得分:2)

>>> start, stop, inc = raw_input('Enter start, stop, increment:').split(',')
Enter start, stop, increment:0, 5, 2
>>> print start, stop, inc
0  5  2

请注意,这些是字符串,使用int转换它们

答案 1 :(得分:1)

用户必须按ENTER键确认输入。 input()会自动将其输出为换行符,因此您无法通过3次调用input()将其全部放在一行中。您可以使用一个输入并询问所有3个值:

>>> userrange = input("Please input start, stop and increment: ")
Please input start, stop and increment: 1,2,3
>>> userrange
(1, 2, 3)

答案 2 :(得分:0)

>>> import numpy as np
>>> makearange = lambda a: np.arange(int(a[0]),int(a[1]),int(a[2]))
>>> x = makearange(raw_input('Enter start,stop,increment: ').split(','))
Enter start,stop,increment: 2,100,10
>>> x
array([ 2, 12, 22, 32, 42, 52, 62, 72, 82, 92])