В приведенном ниже коде есть главное меню и подменю. В первом меню появляется запрос на загрузку и выбор опции, которая будет загружать другую страницу с большим количеством опций. Я не могу понять, как добраться до другого раздела. Например, вызывается sub2.Добавление другого подменю в существующий код
Скажем, если выбран вариант 1, он предложит вам выбрать два варианта опций: 1_sub2_1 и option1_sub2_2.
Допустим, при выборе варианта 2 он запрашивает option2_sub2_1 option2_sub2_2
Я один набор параметров хранится как: menu_actions = { 'main_menu': main_menu, '1': один, «2 «: два, 'B': назад, 'Q': выход, }
можно иметь его установки так или иначе, как это: option1_sub2 = { '1': один, '2' : два, } и option2_sub2 = { '1': один, '2': два, }
Таким образом, можно повторно использовать одни и те же номера для различных элементов SUB2. Это возможно?
Это мой первый проект кода, и я не смог пройти мимо этой части. Любая помощь будет оценена по достоинству.
Код:
import sys, os
# Main definition - constants
menu_actions = {}
# =======================
# MENUS FUNCTIONS
# =======================
# Main menu (display list on screen)
def main_menu():
os.system('clear')
print "1. Option"
print "2. Option"
choice = raw_input(" >> ")
exec_menu(choice)
return
# Choose a menu
def exec_menu(choice):
os.system('clear')
ch = choice.lower()
if ch == '':
menu_actions['main_menu']()
else:
try:
menu_actions[ch]()
except KeyError:
print "Invalid selection, please try again.\n"
menu_actions['main_menu']()
return
# =======================
# SUB MENUS
# =======================
# Back to main menu
def back():
menu_actions['main_menu']()
# Exit program
def exit():
sys.exit()
# Option1
def one():
print "Option 1"
print (30 * '-')
print "Sub Option 1"
print "Sub Option 2"
print "[B]ack"
print "[Q]uit"
choice = raw_input(" >> ")
exec_menu(choice)
return
# FTP
def two():
print (30 * '-')
print "Sub Option 1"
print "Sub Option 2"
print "[B]ack"
print "[Q]uit"
choice = raw_input(" >> ")
exec_menu(choice)
return
# =======================
# MENUS DEFINITIONS
# =======================
# Menu definition
menu_actions = {
'main_menu': main_menu,
'1': one,
'2': two,
'b': back,
'q': exit,
}
# =======================
# MAIN PROGRAM
# =======================
# Main Program
if __name__ == "__main__":
# Launch main menu
main_menu()