2015-09-29 3 views
1

Я использую обучение Grok, и мне нужна помощь в поиске чисел между ними, если пользователь вводит их.Как найти числа между номерами, которые пользователь вводит?

Например:

3 
6 

Числа между: 4, 5

Но это то, что мне нужно именно:

До подъемника Подъемник сломана! Он все еще может идти вверх и вниз, но не показывает, какой этаж он больше, что вызывает путаницу для людей, пытающихся его использовать.

Напишите программу, которая отобразит номера этажей на лифте , который будет расти. Ваша программа должна читать на текущем этаже и читать в полуприцеле, который всегда будет выше, чем нынешний этаж. Ваша программа должна распечатать каждый номер номера между ними.

Текущий этаж: 3

Направление этаж: 6

Уровень 3

Уровень 4

Уровень 5

Уровень 6

Текущий этаж: 1

Направление этаж: 2

Уровень 1

Level 2

Так что мой текущий код:

current = int(input("Current floor: ")) 
desti = int(input("Destination floor: ")) 
print("level",current) 
print("level",desti) 

Теперь я смущен, как получить его для вывода на числа между ними.

+2

Try в 'диапазон()' функция. – TigerhawkT3

+0

Да, я пробовал использовать функцию диапазона, но я все еще смущен тем, что положить в нее. Мне жаль, что я новичок в python. – new

+2

Google запустил некоторые базовые примеры 'range()', дайте ему лучший снимок, а затем добавьте свою попытку на свой вопрос, если он не работает. Опишите, что вы ожидали, и что вы на самом деле получили. – TigerhawkT3

ответ

1

Вы можете использовать функцию range(), используя верхние и нижние границы, введенные пользователь:

>>> current = int(input("Current floor: ")) 
>>> desti = int(input("Destination floor: ")) 
>>> print(*range(current+1, desti)) 
4 5 
>>> between = list(range(current+1, desti)) 
>>> between 
[4, 5] 

Если вы хотите, этажи идут в обратном направлении вы можете сделать это:

list(range(desti, current, -1)) 

или вы можете просто обратный диапазон:

list(reversed(range(current+1, desti))) 

печати вниз:

print(*range(current+1, desti), sep='\n') 

Форматирование вывода в цикле:

for level in range(current+1, desti): 
    print('Level {}'.format(level)) 
+0

Большое вам спасибо, это дало мне представление. Мне просто нужно создать его в списке :) Это был результат: Текущий этаж: 1 Назначение пола: 9 уровень 1 уровень [2, 3, 4, 5, 6, 7, 8] уровень 9 – new

+0

Вы используют Python 3, поэтому, если вы хотите, чтобы он был списком, просто вызовите 'list (range (current + 1, desti))'. – mhawke

+0

Как я могу заставить выход идти вниз? не боком? – new

0

Вы можете создать цикл, начинающийся с текущего этажа (эксклюзивный) и увеличивать его до тех пор, пока вы не достигнете пола назначения (исключительного).

+0

Прошу прощения, но как именно я это сделал? – new

+0

Посмотрите здесь: https://wiki.python.org/moin/ForLoop – deano

0

Посмотрите на функцию диапазона. Я думаю, что это будет делать именно то, что вы хотите сделать.

http://pythoncentral.io/pythons-range-function-explained/

Допустим, диапазон вам нужно находится между 1 и 5.

В Python 2.x возвращает список,

>>> range(1, 5) 
[1, 2, 3, 4] 

В Python 3.x это итератор. поэтому вы должны преобразовать его в список.

>>> list(range(1, 5)) 
[1, 2, 3, 4] 

Второй вход является эксклюзивным, поэтому добавьте к последнему значению списка

4 + 1 = 5

+0

Нужно преобразовать его в «список». – TigerhawkT3

+0

Спасибо, это очень помогло мне. Но как я могу создать список вниз? – new

+0

Возможно, вы можете использовать функцию обратной связи? http://stackoverflow.com/questions/3940128/how-can-i-reverse-a-list-in-python –

Смежные вопросы