zoukankan      html  css  js  c++  java
  • 三级菜单

    要求:

    升级作业:
    程序: 三级菜单
    要求: 
    打印省、市、县三级菜单
    可返回上一级
    可随时退出程序

    dic = {"河北":{"高碑店":["安新县","高阳县","涞水县"],"秦皇岛":["海港区","邯郸市","邢台市"]},
           "辽宁":{"沈阳":["沈北","大东","于洪","铁西"],"本溪":["平山区","明山区","溪湖区"]}
           }
    flg=True
    while flg:
        a = input("")
        if a.upper()=="Q":
            break
        else:
            if a =="河北":
                print("选择市")
                for x in dic["河北"]:
                    print(x)
            elif a =="辽宁":
                print('选择市')
                for y in dic["辽宁"]:
                    print(y)
            else:
                continue
            flg2 = True
            while flg2:
                b = input("")
                if b.upper( )=="Q":
                    flg = False
                    flg1 = False
                    flg2 = False
                    break
                elif b.upper()=="P":
                    break
                else:
                    if b=="高碑店":
                        print("选择县")
                        print(dic["河北"]["高碑店"])
                    elif b == "秦皇岛":
                        print("选择县")
                        print(dic["河北"]["秦皇岛"])
                    elif b == "沈阳":
                        print("选择县")
                        print(dic["辽宁"]["沈阳"])
                    elif b == "本溪":
                        print("选择县")
                        print(dic["辽宁"]["本溪"])
                    else:
                        print("重新输入")
                        continue
                    flg1 = True
                    while flg1:
                        c = input("")
                        if c.upper()=="Q" :
                            flg = False
                            flg1 = False
                            flg2 = False
                            break
                        elif c.upper()=="P":
                            break
                        else:
                            if c in dic["河北"]["高碑店"] or c in dic["河北"]["秦皇岛"] or c in dic["辽宁"]["沈阳"] or c in dic["辽宁"]["本溪"]:
                                print("%s省,%s市,%s县" %(a,b,c))
                                flg=False
                                flg1=False
                                flg2=False
                                break
                            else:
                                print("重新输入")
                                continue

    用递归方法做

    menu = {
        '北京': {
            '海淀': {
                '五道口': {
                    'soho': {},
                    '网易': {},
                    'google': {}
                },
                '中关村': {
                    '爱奇艺': {},
                    '汽车之家': {},
                    'youku': {},
                },
                '上地': {
                    '百度': {},
                },
            },
            '昌平': {
                '沙河': {
                    '老男孩': {},
                    '北航': {},
                },
                '天通苑': {},
                '回龙观': {},
            },
            '朝阳': {},
            '东城': {},
        },
        '上海': {
            '闵行': {
                "人民广场": {
                    '炸鸡店': {}
                }
            },
            '闸北': {
                '火车战': {
                    '携程': {}
                }
            },
            '浦东': {},
        },
        '山东': {},
    }

    程序

     def threeLM(dic):
          while True:
              for k in dic:print(k)
              key = input('input>>').strip()
              if key == 'b' or key == 'q':return key
              elif key in dic.keys() and dic[key]:
                  ret = threeLM(dic[key])
                  if ret == 'q': return 'q'
    
     
     threeLM(menu)
  • 相关阅读:
    坐看夕阳
    张学孟 (帮别人名字作诗)
    光棍节有感
    我懂
    陶婷(帮别人名字作诗)
    你的爱是不是在等着我
    OpenCV数据读写操作
    数字图像处理中的形态学
    C++/C学习笔记(一)
    利用opencv绘制 灰度直方图 RGB直方图 HSV直方图 直方图均衡化
  • 原文地址:https://www.cnblogs.com/wzbk/p/8515873.html
Copyright © 2011-2022 走看看