码迷,mamicode.com
首页 > 编程语言 > 详细

python练习题:三级菜单

时间:2018-08-06 21:42:50      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:image   工具   python练习   google   print   python3.7   bubuko   pycha   返回   

数据结构:

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

需求:
可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序
所需新知识点:列表、字典

测试环境:win7系统,python3.7.0,工具:pycharm-community-2018.1.4

 


 

menu = {
    北京:{
        海淀:{
            五道口:{
                soho:{},
                网易:{},
                google:{}
            },
            中关村:{
                爱奇艺:{},
                汽车之家:{},
                youku:{},
            },
            上地:{
                百度:{},
            },
        },
        昌平:{
            沙河:{
                老男孩:{},
                北航:{},
            },
            天通苑:{},
            回龙观:{},
        },
        朝阳:{},
        东城:{},
    },
    上海:{
        闵行:{
            "人民广场":{
                炸鸡店:{}
            }
        },
        闸北:{
            火车站:{
                携程:{}
            }
        },
        浦东:{},
    },
    山东:{},
}
# 需求:
# 可依次选择进入各子菜单
# 可从任意一层往回退到上一层
# 可从任意一层退出程序
# 所需新知识点:列表、字典
import sys
while True:
    for i in menu:
        print(\t, i)
    choice = input("以上为 一级菜单 请选择(q退出,a返回上一层,若输入有误继续执行输入)>:")
    if choice == q:
         sys.exit(0)
    elif choice == a:
        print(\t,已经是第一层了)
    # 判断输入是否在一级目录里面
    if choice in menu:

        while True:
            # 输出一级目录对应的二级目录
            for i2 in menu[choice]:
                print(\t,i2)
            choice2 = input("以上为 二级菜单 请选择(q退出,a返回上一层,若输入有误继续执行输入)>:")
            if choice2 == q:
                 sys.exit(0)
            if choice2 == a:
                break
            #判断 输入 是否在二级目录里面
            if choice2 in menu[choice]:

                while True:
                    # 输出二级目录对应的三级目录
                    for i3 in menu[choice][choice2]:
                        print(\t,i3)
                    choice3 =  input("以上为 三级菜单 请选择(q退出,a返回上一层,若输入有误继续执行输入)>:")
                    if choice3 == q:
                         sys.exit(0)
                    if choice3 == a:
                        break
                    # 判断输入是否在 三级目录里面
                    if choice3 in menu[choice][choice2]:

                        while True:
                            # 输出三级目录下对应的四级目录
                            for i4 in menu[choice][choice2][choice3]:
                                print(\t,i4)
                            choice4 = input("以上为 最后一层 请选择(q退出,a返回上一层,若输入有误继续执行输入)>:")
                            if choice4 == q:
                                 sys.exit(0)
                            if choice4 == a:
                                break

技术分享图片

 

 

 

技术分享图片

python练习题:三级菜单

标签:image   工具   python练习   google   print   python3.7   bubuko   pycha   返回   

原文地址:https://www.cnblogs.com/foremostxl/p/9432910.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!