''' 1, 打印省,市,县三级菜单 2, 可以返回上一层 3, 可随时退出程序 ''' data = { '山东':{ '济南':{ '方舟':{ '指定':{}, '都是':{} }, '云平':{ '阿瑟东': {}, '阿瑟东的': {} }, }, '南昌':{ '红云':{ '安抚我': {}, '阿法狗': {} }, '兰州':{ '阿斯蒂芬': {}, '全微分': {} } }, '云台':{ '沧州':{ '啊大大': {}, '啊方法': {} }, '安康':{ 'DD': {}, '发顺丰': {} } }, }, '西藏': { '济南': { '方舟': { 'D的亲戚': {}, '风向标': {} }, '云平': { '分的': {}, '嘎嘎嘎': {} }, }, '南昌': { '红云': { '请问': {}, '七二五': {} }, '兰州': {} }, '云台': { '沧州': { '驱蚊器': {}, '驱蚊器饿饿': {} }, '安康': { '企鹅去': {}, '去问问去': {} } } } }
accept_parameter = data #实现动态循环 # sing_out = data sing_outs = [] #保存所有父级 while True: for key in accept_parameter: print(key) conie = input('>>>:').strip() if len(conie) == 0: continue if conie in accept_parameter: # sing_out = accept_parameter #上级层 sing_outs.append(accept_parameter) accept_parameter = accept_parameter[conie] elif conie == 'b': # accept_parameter = sing_out #返回上级层 if sing_outs: accept_parameter = sing_outs.pop() else: print('查无此项')