四级菜单实现一

menu={
    '河南':{
        '郑州':{
            '开封':{
                '景点':['清明上河园','包公祠','禹王台','天波府'],
                '大学':['开封大学','河南大学'],
                '美食':['灌汤包']
               },
            '巩义':{
                '景点':['万寿山','康百万','雪花洞','石窟寺'],
                '大学':['成功学院','广播电视大学']
               }
        },
        '洛阳':{
            '栾川':{
                '景点':['龙潭大峡谷','老君山'],
                '美食':['牛肉汤','浆面条','肉夹馍']
            }
        }
        },
    '江苏':{
        '南京':{
            '玄武区':{
                '景点':['玄武湖','鸡鸣寺','明故宫'],
                '美食':['盐水鸭','鸭血粉丝汤']
            },
            '秦淮区':{
                '景点':['夫子庙','中山陵','秦淮河','老门东'],
                '学校':['南邮','北航']
            }
        }
    },
    '安徽':{}
}

back_flag=False
quit_flag=False
while not back_flag and not quit_flag:
    for k in menu:
        print(k)
    choice=input('选择你去的地方:')    
    if menu.get(choice):
        while not back_flag and not quit_flag:
            for k in menu[choice]:
                print(k)
            choice1=input('选择你去的地方:')
            if menu[choice].get(choice1):
                while not back_flag and not quit_flag:
                    for k in menu[choice][choice1]:
                        print(k)
                    choice2=input('选择你去的地方:')
                    if menu[choice][choice1].get(choice2):
                        while not back_flag and not quit_flag:
                            for k in menu[choice][choice1][choice2]:
                                print(k)
                            choice3=input('选择你去的地方:')
                            if menu[choice][choice1][choice2].get(choice3):
                                while not back_flag and not quit_flag:
                                    for v in menu[choice][choice1][choice2][choice3]:
                                        print(v)
                                    choice4=input('没有了,可返回上级菜单或退出:')
                                    if choice4 == 'b':back_flag=True
                                    elif choice4 == 'q':quit_flag=True
                                back_flag=False
                            elif choice3 == 'b':back_flag = True
                            elif choice3 == 'q':quit_flag = True
                        back_flag=False
                    elif choice2 == 'b':back_flag = True
                    elif choice2 == 'q':quit_flag = True
                back_flag=False
            elif choice1 == 'b':back_flag=True                   
            elif choice1 == 'q':quit_flag = True
        back_flag=False 
    elif choice == 'q':quit_flag = True

  

转载于:https://www.cnblogs.com/chbo/p/10133793.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP 加数据库 四级菜单联动 var m_oXMLDoc = new ActiveXObject("Microsoft.XMLDOM"); var m_sBaseSrc = "Tree.asp?ParentCode="; //源码爱好者(http://www.codefans.net) function BindSelect( strXMLSrc , objSelectName, defaultVal) { m_oXMLDoc.async = true; m_oXMLDoc.onreadystatechange = Function( "fnLoadComplete('" + objSelectName + "', '" + defaultVal + "');" ); m_oXMLDoc.load( strXMLSrc ); } function fnLoadComplete(objSelectName, defaultVal) { var objSelect = document.all[objSelectName]; var aryXMLNodes; var node; if (objSelect == null) return; try { var iReadyState = m_oXMLDoc.readyState; } catch(e) { return; } if( iReadyState != 4 ) return; if( m_oXMLDoc != null && m_oXMLDoc.xml != "" ) { objSelect.length = 0; aryXMLNodes = m_oXMLDoc.documentElement.selectNodes("TreeNode"); objSelect.options[0] = new Option("==全部=="); for (var i=0; i 1) { SetSelectedValue(objSelect, defaultVal) } if(objSelect.ChildSelectName != null) { objSelect.onchange = Function( "var val = this.options[this.selectedIndex].value;BindSelect(m_sBaseSrc+val, '"+objSelect.ChildSelectName+"', '"+defaultVal+"');if(val!='')document.all.MaterialClassCode.value=val;" ); objSelect.fireEvent("onchange"); } else { objSelect.onchange = Function( "var val = this.options[this.selectedIndex].value;if(val!='')document.all.MaterialClassCode.value=val;" ); } } } function InitSelect(defaultVal) { document.all.MaterialClassCode.value = ""; BindSelect( m_sBaseSrc + "00", "MaterialClass1", defaultVal); } function Equality(val1,val2) { if (val1.length < val2.length || val2 == "") return false; return (val1.substr(0,val2.length) == val2) } function SetSelectedValue(oSel,val) { if (val == null) return; for(var i=0; i<oSel.length; i++) { if (Equality(val, oSel.options[i].value)) { oSel.selectedIndex = i; if(oSel.ChildSelectName == null) oSel.fireEvent("onchange"); break; } } } window.onload = function(){InitSelect();}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值