Получить пользователя для ввода диапазона в Python - PullRequest
1 голос
/ 24 августа 2011

Я пытаюсь запросить у пользователя диапазон (для массива), т.е. переменные start, stop и increment. Я испытываю затруднения, спрашивая каждую переменную, не разбивая мою строку. Пока у меня есть этот код:

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

Однако мне бы хотелось, чтобы он прочитал: «Введите Start, Stop, Increment:» и разрешил пользователю ввести три числа, например 2, 10, 2 вместо того, чтобы вводить их по одному.

Буду благодарен за любые советы

Ответы [ 3 ]

2 голосов
/ 24 августа 2011
>>> 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 голос
/ 24 августа 2011

Пользователь должен подтвердить свою запись, нажав клавишу ВВОД. 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)
0 голосов
/ 24 августа 2011
>>> 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])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...