我试图向用户询问范围(对于数组),即变量的开始,停止和递增。我在查询每个变量时遇到困难而没有分解我的字符串。到目前为止,我有这段代码:
x=numpy.arange(input('Enter Start:'), input('Enter Stop:'),input ('Enter increment:'))
但我想读它:'输入开始,停止,增量:'并允许用户输入三个数字,例如2,10,2,而不是一次输入一个。
我很感激任何建议
答案 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])