tertiary menu

 
  

need:

  • Can be selected in turn to enter each submenu
  • Can go back from any layer to the previous layer
  • The program can be exited from any level

1
# !/usr/bin/env python3 2 # -*- coding:utf-8 -*- 3 ''' 4 Time:2018/5/3 16:23 5 File:Three-level menu 6 Author:ly 7 ' '' 8 menu = { 9 ' Beijing ' :{ 10 ' Haidian ' :{ 11 ' Wudaokou ' :{ 12 ' soho ' :{}, 13 ' Netease ' :{}, 14 ' google ' :{} 15 }, 16 ' Zhongguancun ' :{ 17 ' iQiyi ' :{}, 18 ' Autohome ' : {}, 19 ' youku ' :{}, 20 }, 21 ' Shangdi ' :{ 22 ' Baidu ' :{}, 23 }, 24 }, 25 ' Changping ' :{ 26 ' Shahe ' :{ 27 ' Old Boy ' :{}, 28 ' Beihang ' :{}, 29 }, 30 ' Tiantongyuan ' :{}, 31 ' Huilongguan ' :{}, 32 }, 33 ' Chaoyang ' :{}, 34 ' Dongcheng ' :{}, 35 }, 36 ' Shanghai ' :{ 37 ' Minhang ' :{ 38 " People's Square " :{ 39 ' Fried Chicken ' :{} 40 } 41 }, 42 ' Zhabei ' :{ 43 ' Train Station ' :{ 44 ' Ctrip ' :{} 45 } 46 }, 47 ' Pudong ' :{}, 48 }, 49 ' Shandong ' :{}, 50 } 51 Current_layer = menu #Current layer 52 53 Next_layer = [ menu ] #Next layer 54 55 exit_flag = False 56 57 while not exit_flag: 58 for i in Current_layer: 59 print (i) 60 choice = input( " Please enter your choice|Breturn|Qexit: " ).strip() 61 62 if choice in Current_layer: #If in the current layer 63 Next_layer.append (Current_layer) #Then add the current layer to the next layer 64 Current_layer = Current_layer[choice] 65 66 if choice == ' b ' .casefold(): 67 if len(Next_layer) ==0: 68 continue 69 Current_layer = Next_layer[-1] #Get the previous layer and assign it to the current layer 70 Next_layer.pop() 71 # print(Next_layer) 72 73 if choice== ' q ' .casefold(): 74 exit_flag = True

 

 



Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325946345&siteId=291194637