Python 字典之三级菜单

根据用户的输入,产生多级列表的效果,中途可按b返回,q直接退出。

输入图片说明

#!/user/bin/env python3
dict ={
 "华南":{
  "广东":["广州市","佛山市","深圳市","东莞市"],
  "广西":["南宁市","柳州市","桂林市","北海市"],
  "海南":["海口市","三亚市","三沙市","儋州市"]
 },
 "华东":{
  "上海":["黄浦区","卢湾区","徐汇区","长宁区","普陀区"],
  "安徽":["合肥市","芜湖市","淮南市","马鞍山市"],
  "江苏":["南京市","无锡市","徐州市","常州市","苏州市"]
 },
 "华北":{
  "北京":["东城区","西城区","朝阳区","丰台区","石景山区","海淀区"],
  "山西":["太原市","大同市","阳泉市","长治市"],
  "河北":["石家庄市","唐山市","秦皇岛市","邢台市"]
 },
 "华中":{
  "湖北":["武汉市","黄石市","十堰市","十堰市"],
  "河南":["郑州市","开封市","洛阳市","平顶山市"],
  "湖南":["长沙市","株洲市","衡阳市","邵阳市"]
 },
 "西南":{
  "重庆":["万州区","涪陵区","渝中区","大渡口区"],
  "四川":["成都市","自贡市","攀枝花市","德阳市"],
  "贵州":["贵阳市","六盘水市","遵义市","安顺市"],
 },
 "特别行政区":{
  "香港":["屯门","弯仔","北角","西贡"],
  "澳门":["花地玛堂区","圣安多尼堂区","大堂区","望德堂区"],
 }
}
flag = True
print('你从哪里来?')
while flag:
    qu_list = []
    for i in dict.keys():
        qu_list.append(i)
    for i, j in enumerate(qu_list):
        i += 1
        print(i, j)
    num = input('请输入区号,按q退出:')
    if num == 'q':
        exit()
    else:
        num = int(num)
        if num <= len(dict):
            num_1 = num - 1
            qu = qu_list[num_1]
        else:
            print('您的输入不合法,退出程序')
            exit()
        while flag:
            pro_list = []
            for i in dict[qu]:
                pro_list.append(i)
            for i,j in enumerate(pro_list):
                i +=1
                print(i,j)
            num = input('请输入省序号,按q退出,b返回:')
            if num == 'q':
                exit()
            elif num == 'b':
                break
            else:
                num = int(num)
                num_1 = num - 1
                if num <= len(pro_list):
                    pro = pro_list[num_1]
                    city_list = []
                    for i,j in enumerate(dict[qu][pro][0:]):
                        i += 1
                        city_list.append(j)
                        print(i,j)
                else:
                    print('您的输入不合法,退出程序')
                    exit()
                num = input('请输入城市序号,按q退出,b返回:')
                if num == 'q':
                    exit()
                elif num == 'b':
                    continue
                else:
                    num = int(num)
                    num_1 = num - 1
                    if num <= len(city_list):
                        city = city_list[num_1]
                    else:
                         print('您的输入不合法,退出程序')
                         exit()
            flag = False

print('你来自' + qu + ' '+ pro + ' ' + city)

转载于:https://my.oschina.net/u/2510715/blog/675013

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值