靳闯博客 记录是一种习惯,分享是一种态度
  • 波浪
  • 波浪
  • 波浪
  • 波浪
python的学习-三级菜单[二]
发表于: | 分类: 技术积累 | 标签: 暂无标签 | 评论:0 | 阅读: 202

根据需求,写出模拟三级菜单;初学这里膜拜各路大神

1,可依次选择进入各子菜单
2,可从任意一层往回退到上一层
3,可从任意一层退出程序
#!/bin/env python3
#-*- coding:utf-8 -*-
#author:jinchuang
#满足三级菜单-基本的需求逻辑

INFO = {
    '北京':{
        '天安门':{
            "长安街":["那个人多啊","早晨看升旗"]
        },
        '长城':{
            "旅游":["一条龙","人山人海"]
        },
        '天空':{
            "颜色":["灰色","蓝色"]
        },
    },
    '上海':{
        '闵行':{
            "人民广场":['炸鸡店','蜡像馆']
        },
        '闸北':{
            '火车战':['火车票','幼儿园']
        },
        '浦东':{
            '金桥':['吃喝玩乐','看电影']
        },
    }
}
def pm():
    print("\033[31m请输入正确的!\033[0m")

while True:
    for i in INFO:
        print(i)

    one = input("请选择内容[按q:exit]:")
    if one in INFO:
        while True:
            for io in INFO[one]:
                print(io)

            one2 = input("请选择内容[按b:Return 按q:exit]:")
            if one2 in INFO[one]:
                while True:
                    for oi in INFO[one][one2]:
                        print(oi)

                    one3 = input("请选择内容[按b:Return 按q:exit]:")
                    if one3 in INFO[one][one2]:
                        while True:
                            for iu in INFO[one][one2][one3]:
                                print(iu)

                            one4 = input("这是最后了[按b:Return 按q:exit]:")
                            if one4 == 'b':
                                break
                            elif one4 == 'q':
                                exit()
                            else:
                                print("\033[31m已经是最后了!\033[0m")

                    elif one3 == 'b':
                        break
                    elif one3 == 'q':
                        exit()
                    else:
                        pm()

            elif one2 == 'b':
                break
            elif one2 == 'q':
                exit()
            else:
                pm()

    elif one == 'q':
        exit()
    else:
        pm()

使用函数递归优化版,简直了就是一个天一个地的代码,还是得多学点才能写出来

#!/bin/env python3
#-*- conding:utf-8 -*-
#author:jinchuang
#满足三级菜单-高级需求

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

def Meun(x):
    while True:
        for i in x:
            print(i)
        INP = input("请选择[b:return q:exit]")
        if INP in x:
            INP2 = x[INP]
            menu(INP2)
        elif INP == 'b':
            return
        elif INP == 'q':
            exit()
        else:
            continue

Meun(INFO)


如果这篇文章帮助到了你,我感到十分荣幸!

或许你不想写点什么·但我依旧在这里

icon_mrgreen.pngicon_neutral.pngicon_twisted.pngicon_arrow.pngicon_eek.pngicon_smile.pngicon_confused.pngicon_cool.pngicon_evil.pngicon_biggrin.pngicon_idea.pngicon_redface.pngicon_razz.pngicon_rolleyes.pngicon_wink.pngicon_cry.pngicon_surprised.pngicon_lol.pngicon_mad.pngicon_sad.pngicon_exclaim.pngicon_question.png2018new_aini_org.png2018new_baobao_thumb.png2018new_erha_org.png2018new_kuxiao_thumb.png2018new_yun_thumb.png2018new_hufen_thumb.png2018new_gui_org.png2018new_xiaoerbuyu_org.png2018new_heixian_thumb.png2018new_wabi_thumb.png2018new_tianping_thumb.png
captcha

站点地图 网站地图
豫ICP备17003270号 | Copyright © 2018 💖 靳闯博客
Typecho🍹Sgreen
TOP