python的学习-三级菜单[二]
· 技术积累 · 暂无标签

根据需求,写出模拟三级菜单;初学这里膜拜各路大神 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)

本文最后更新时间 2018-08-21
文章链接地址:
https://me.jinchuang.org/archives/224.html
本站文章除注明[转载|引用|原文]出处外,均为本站原生内容,转载前请注明出处


留言