python练习二 三级菜单,字典的应用

python练习二

  • 可选进入三级菜单
  • 一级级进入菜单 可随时退出 返回上级菜单
  • 练习字典的使用
# Author:Roach
# -*- coding: utf-8 -*-
region = {
    '北京': {
        '海淀': {
            '五道口': {
                'soho': {},
                '网易': {},
                'google': {}
            },
            '中关村': {
                '爱奇艺': {},
                '汽车之家': {},
                'youku': {},
            },
            '上地': {
                '百度': {},
            },
        },
        '昌平': {
            '沙河': {
                '老男孩': {},
                '北航': {},
            },
            '天通苑': {},
            '回龙观': {},
        },
        '朝阳': {},
        '东城': {},
    },
    '上海': {
        '闵行': {
            "人民广场": {
                '炸鸡店': {}
            }
        },
        '闸北': {
            '火车战': {
                '携程': {}
            }
        },
        '浦东': {},
    },
    '山东': {},
}

# print(region["北京"]["昌平"]["沙河"])
# print(region)
exit_false = False  # 定义循环状态开关,在需要关闭时关闭开关

while not exit_false:   #  满足条件是执行循环
    for i in region:    # 读取第一层目录
        print(i)    # 打印第一层目录
    input_1 = input("-----输入q退出菜单!-----\n请选择省份:")   # 输入需要进入的目录
    if input_1 in region:   # 判断输入的内容是否存在于第一层目录中
        while not exit_false:   # 判断当前状态是否执行
            for i1 in region[input_1]:  # 读取第二层目录
                print("\t",i1)  # 打印第二层目录
            input_2 = input("输入b返回上一级菜单,输入q退出菜单!\n请选择市:")   # 输入需要进入的第二层目录
            if input_2 in region[input_1]:  # 判断输入的内容是不是存在于第二层目录中
                while not exit_false:   # 判断当前状态是否执行
                    for i2 in region[input_1][input_2]: # 读取第三层目录
                        print("\t\t",i2)    # 输出第三层目录
                    input_3 = input("输入b返回上一级菜单,输入q退出菜单!\n请选择区:")   # 输入需要进入的第三层目录
                    if input_3 in region[input_1][input_2]: # 判断输入内容是不是存在于第三层目录中
                        while not exit_false:   # 判断当前状态
                            for i3 in region[input_1][input_2][input_3]:    # 读取第四层目录
                                print("\t\t\t",i3)  # 输出第四层目录
                            input_4 = input("输入b返回上一级菜单,输入q退出菜单!")  # 输入返回上一级或者退出
                            if input_4 == "b":  # 判断如果输入是"b",停止当前while循环,返回上一层循环,即返回上一层目录
                                break   
                            elif input_4 == "q":    # 判断如果输入的是"q",即退出程序,将exit_false状态改为True,所有while将停止
                                exit_false = True
                    if input_3 == "b":  # 判断如果输入是"b",停止当前while循环,返回上一层循环,即返回上一层目录
                        break
                    elif input_3 == "q":    # 判断如果输入的是"q",即退出程序,将exit_false状态改为True,所有while将停止
                        exit_false = True
            if input_2 == "b":  # 判断如果输入是"b",停止当前while循环,返回上一层循环,即返回上一层目录
                break
            elif input_2 == "q":    # 判断如果输入的是"q",即退出程序,将exit_false状态改为True,所有while将停止
                exit_false = True
    if input_1 == "b":  # 如果在第一层输入"b",即提示已经在第一层
        print("已经在第一层!!!")
    elif input_1 == "q":    # 判断如果输入的是"q",即退出程序,将exit_false状态改为True,所有while将停止
        exit_false = True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值