menu_dict = {
' Shandong ': {
' Qingdao ': {
' Quartet ': {' Xinglong road ', ' Pingan road ', ' Hangzhou Road '},
' Huangdao ': {},
' Laoshan ': {}
},
' Jinan ': {
' Licheng ': {},
' Huaiyin ': {},
' High-tech ': {}
},
},
' Jiangsu ': {
' Suzhou ': {
' Canglang ': {},
' Xiangcheng ': {},
' Pingjiang ': {}
},
' Nanjing ': {
' Baixia ': {},
' Qinhuai ': {},
' Pukou ': {}
}
}
}
Current_layer = menu_dict
parent_layers = [] #把不同层级的字典保存在列表中 (nested dictionary in list) [menu_dict,menu_dict[Province], .... ], to the last level, the list looks like this.
#parent_layers [0]={' Shandong ': {' Qingdao ': {' Sifang ': {' Hangzhou road ', ' Xinglong Road ', ' Pingan Road '}, ' Huangdao ': {}, ' Laoshan ': {}}, ' Jinan ': {' Licheng ': {}, ' Huaiyin ': {}, ' High-tech ': {} }}, ' Jiangsu ': {' Suzhou ': {' Canglang ': {}, ' Xiangcheng ': {}, ' Pingjiang ': {}}, ' Nanjing ': {' Baixia ': {}, ' Qinhuai ': {}, ' Pukou ': {} }}
#parent_layers[1]={' qingdao ': {' Sifang ': {' Hangzhou road ', ' Xinglong Road ', ' Pingan Road '}, ' Huangdao ': {}, ' Laoshan ': {}}, ' Jinan ': {' Licheng ': {}, ' Huaiyin ': {}, ' High ': {}}}
#parent_layers[2]={' quartet ': {' Hangzhou road ', ' Xinglong Road ', ' Pingan Road '}, ' Huangdao ': {}, ' Laoshan ': {}} whileTrue:
For key in Current_layer:
Print (key)
Choice = input (">>:"). Strip ()
If len (choice) = = 0:
Continue
If choice in Current_layer:
Parent_layers.append (Current_layer)
Current_layer = Current_layer[choice]
elif Choice = = ' B ':
If Parent_layers:
Current_layer = Parent_layers.pop ()
Else
Print ("No this item")
Level four menu implementation (Python)