三级菜单 -----待学习,待强化

# -*- coding: utf-8 -*-
# @Time    : 2018/12/24 19:00
# @Author  : Endless-cloud
# @Site    : 
# @File    : 三级菜单.py
# @Software: PyCharm
menu = {
    '北京':{
        '海淀':{
            '五道口':{
                'soho':{},
                '网易':{},
                'google':{}
            },
            '中关村':{
                '爱奇艺':{},
                '汽车之家':{},
                'youku':{},
            },
            '上地':{
                '百度':{},
            },
        },
        '昌平':{
            '沙河':{
                '老男孩':{},
                '北航':{},
            },
            '天通苑':{},
            '回龙观':{},
        },
        '朝阳':{},
        '东城':{},
    },
    '上海':{
        '闵行':{
            "人民广场":{
                '炸鸡店':{}
            }
        },
        '闸北':{
            '火车站':{
                '携程':{}
            }
        },
        '浦东':{},
    },
    '山东':{},
}




# 首先定义 一个列表装集合
msg = []
while True: # 开始死循环
    if 0 == len(menu):
        print('该集合内没有内容')
        menu = msg.pop()
    for i in menu:  # 循环字典打印的是key
        print(i)
    chiose = input('请输入地名')  # 输入内容
    if chiose in [i for i in menu]:    # 判断输入的内容在不在名称里面
        msg.append(menu)   # 把集合追加装进列表中

        menu =menu[chiose]   # 集合利用key 获取集合内容重新获取集合
    # 退出
    elif chiose=='q':
        break
    # 返回上一层
    elif chiose == 'c':    # 如果输入c

        menu=msg.pop()
        # print(menu)
        # print(msg)
    else:
        print('nothing')
        if 0==len(menu):  # 判断集合里面的内容是否等于0 
            print('该集合内没有内容,返回上一层')
            menu =msg.pop()    #列表中的最后一个索引内容直接被取出然后付给menu集合

With great power comes great responsibility

原文地址:https://www.cnblogs.com/baili-luoyun/p/10170580.html