码迷,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
迷上了代码!