В моем скрипте Python у меня есть меню, которое принимает пользовательский ввод, а затем на основе этого ввода печатает некоторые строки с информацией. Это выглядит вроде как это:Python - пробить пользовательский ввод
while True:
# Print the menu
choice = raw_input('Pick an option: ')
if choice == 'item_1':
# Display item_1's contents
elif choice == 'item_2':
# Display item_2's contents
# etc...
Информация, отображаемая каждым item_
немного больше, чем я хочу быть, поэтому я хочу, чтобы разделить каждый из них на несколько страниц.
Чтобы получить доступ к этим разным страницам, я хочу, чтобы он был основан на пользовательском вводе, но вместо того, чтобы иметь совершенно другой вход для каждой страницы, я хочу, чтобы пользователь мог написать номер страницы рядом с исходным вводом (с промежутком между ними). Поэтому, если пользователь вводит item_1
или item_1 1
, они получают первую страницу item_1
, а если они вводят item_2 2
, они получают вторую страницу item_2
и так далее.
Как я могу разбить пользовательский ввод на части, чтобы выполнить вышеупомянутое?
================================================================================================================================= =============================
EDIT
Я был немного вводит в заблуждение о каждом item
и что оно делает. Ранее в сценарии у меня есть это:
def item_1():
# Print line 1
# Sleep
# Print line 2
# Sleep
# Print line 3
def item_2():
# Print line 1
# Sleep
# Print line 2
# Sleep
# Print line 3
То, что я действительно хочу сделать, это определить несколько функций, одна для каждой страницы, а затем вызвать их, когда пользователь вводит номер после `пункта» (вроде аргументы анализа). Как это:
Input item_1
или item_1 1
>> Выход item_1()
Входной item_1 2
>> Выход item_1_p2()
Входной item_3 4
>> Выход item_3_p4()
И, как показано в первом примере ввода, I 'd нравится первая страница данного ввода, которая будет отображаться, если на вкладке не указаны страницы.
'choice.split()' ... –
Ваш план создания функции для каждого элемента очень плохой. Вам нужно будет добавлять код в программу каждый раз, когда вы добавляете новые элементы в базу данных или файл содержимого.В стороне, я не вижу, что вы упоминаете свою прекрасную причину вызова 'sleep()' после каждой строки, поэтому я предполагаю, что у вас ее нет. Не делайте этого, или ваши пользователи быстро расстроятся. – TigerhawkT3
Ну, функции вроде «анимированные» со временем сна 0,1 секунды, это то, что я хочу сохранить. Опять же, извините за более раннюю дезинформацию, но я хотел бы добавить, что все функции в этом скрипте фактически хранятся в другом файле, и я импортирую их в этот, так что добавление или изменение не является проблемой. Единственная проблема, которую я ** делаю **, заключается в том, чтобы выписать 'elif choice == 'item_1 2': item_1_p2()' и т. Д. Для каждой страницы в моем основном скрипте. –