Python练习-三级菜单与"片儿"无关!

本文介绍了一个使用Python实现的多级目录系统,该系统能够根据用户的输入动态展示不同层级的目录结构。通过简单的命令行交互,用户可以浏览从城市到具体地点的详细信息。
# 编辑者:闫龙
#三级目录
menu = {
    '北京':{
        '海淀':{
            '五道口':{'soho':{},'网易':{},'google':{}},
            '中关村':{'爱奇艺':{},'汽车之家':{},'youku':{},},
            '上地':{'百度':{},},
        },
        '昌平':{
            '沙河':{'老男孩':{},'北航':{},},
            '天通苑':{},
            '回龙观':{},
        },
        '朝阳':{},
        '东城':{},
    },
    '上海':{
        '闵行':{
            '人民广场':{'炸鸡店':{}}
        },
        '闸北':{
            '火车战':{'携程':{}}
        },
        '浦东':{},
    },
    '山东':{},
}
#定义一个用户输入列表,用来记录用户所输入的
UserSelect=[];
while True:
    if(len(UserSelect)==0):
        for i in menu.keys():
            print(i);
    if(len(UserSelect)==1):
        if(UserSelect[-1] in menu):
            for i in menu[UserSelect[-1]].keys():
                print(i);
        else:
            print("您输入的信息不在列表中");
            UserSelect.pop(-1);
            continue;
    if (len(UserSelect) == 2):
        if (UserSelect[-1] in menu[UserSelect[-2]]):
            for i in menu[UserSelect[-2]][UserSelect[-1]].keys():
                print(i);
        else:
            print("您输入的信息不在列表中");
            UserSelect.pop(-1);
            continue;
    if (len(UserSelect) == 3):
        if (UserSelect[-1] in menu[UserSelect[-3]][UserSelect[-2]]):
            for i in menu[UserSelect[-3]][UserSelect[-2]][UserSelect[-1]].keys():
                print(i);
        else:
            print("您输入的信息不在列表中");
            UserSelect.pop(-1);
            continue;
    UserInput=input(">>>:").strip();
    if(UserInput == "b"):
        if(len(UserSelect) == 0):
            print("已经是最高级了!");
            continue;
        else:
            UserSelect.pop(-1);
    elif(UserInput == "q"):
        exit();
    else:
        UserSelect.append(UserInput);

 

转载于:https://www.cnblogs.com/DragonFire/p/6641631.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值