Python入门基础--三级菜单

用字典存储数据

可以随时返回上一级,随时退出程序

只能用循环判断等内置方法,不得导入模块

menu = {
        '广东':{
            '广州':{
                '越秀区':{
                    '面积':'33.80',
                    '人口':'115万',
                    '邮政编码':'510030',
                    '区政府驻地':'越华路183号',
                    '行政代码':'440104'
                },'天河区':{
                    '面积':'96.33',
                    '人口':'143万',
                    '邮政编码':'510630',
                    '区政府驻地':'天府路1号',
                    '行政代码':'440106'
                },'荔湾区':{
                    '面积':'59.10',
                    '人口':'89万 ',
                    '邮政编码':'510145',
                    '区政府驻地':'中山七路328号',
                    '行政代码':'440103'
                }
            },
            '深圳':{
                '福田区':{
                    '面积':'78.66',
                    '常住人口':'135.71',
                    '户籍人口':'83.35',
                    '非户籍人口':'52.36',
                    '邮政编码':'518000'
                },'罗湖区':{
                    '面积':'78.76',
                    '常住人口':'95.37',
                    '户籍人口':'55.92',
                    '非户籍人口':'39.46',
                    '邮政编码':'518001'
                }
            }



                },
        '湖北':{
            '武汉':{
                '硚口区':{
                    '行政代码':'420104',
                    '面积':'41.9',
                    '常住人口':'64万',
                    '邮政编码':'430000',
                    '政府驻地':'荣华街道沿江大道518号'
                },'江岸区':{
                    '行政代码':'420102',
                    '面积':'64.24',
                    '常住人口':'121万',
                    '邮政编码':'430014	',
                    '政府驻地':'四唯街道六合路1号'
                }
            },
            '黄石':{
                '大冶市':{
                    '面积':'1566.3',
                    '人口':'95.9万(2014年)',
                    '政府驻地':'东岳路街道湛月路'
                },'阳新县':{
                    '面积':'2780',
                    '人口':'105.94万(2014年)	',
                    '政府驻地':'兴国镇儒学路'
                }
            }

                }
        }

  

dynamic_menu = menu  #实现动态循环菜单
last_meny_list = []  #保存所有的父级层的值,最好一个为当前层的上一层

while True:
    #循环打印出当前菜单的所有key
    for key in dynamic_menu:
        print(key)
    choice = input('>>>:').strip()
    if len(choice) == 0:continue  #如果没有输入则不执行以下代码,节约资源
    if choice in dynamic_menu:  #判断输入的值是否在所选范围
        last_meny_list.append(dynamic_menu)  #记录上一层的值存到列表 ,为了实现随时返回上一层功能
        dynamic_menu = dynamic_menu[choice]  #动态改成下一层的值
    elif choice == '9':  #返回上一层
        if last_meny_list:
            dynamic_menu = last_meny_list.pop()
    elif choice == '886': #退出循环
        break
    else:
        print('无此项'.center(20,'*'))
print('bye'.center(30,'/'))

  

猜你喜欢

转载自www.cnblogs.com/Mifen2952277346/p/10044527.html
今日推荐