【作业】三级目录

实现需求:

老师代码:

l_city ={
    ‘北京1‘:
          {‘昌平1‘:
              {‘沙河1‘:[‘老男孩‘,‘阿泰包子‘],
               ‘天通苑1‘:[‘臭豆腐‘,‘烤肉串‘]
               },

          ‘朝阳1‘:
              {‘朝阳门1‘:[‘吉事果‘,‘老酸奶‘],
               ‘红领巾桥1‘:[‘麻辣烫‘,‘旋风土豆‘]
               },
          ‘海淀1‘:

              {‘颐和园1‘:[‘景区‘,‘还是景区‘],
               ‘玉泉山1‘:[‘大树‘,‘还是大树‘]
              }

          }
    ,
    ‘北京2‘:
         {‘昌平2‘:
              {‘沙河2‘: [‘老男孩‘, ‘阿泰包子‘],
               ‘天通苑2‘: [‘臭豆腐‘, ‘烤肉串‘]
               },

          ‘朝阳2‘:
              {‘朝阳门2‘: [‘吉事果‘, ‘老酸奶‘],
               ‘红领巾桥2‘: [‘麻辣烫‘, ‘旋风土豆‘]
               },
          ‘海淀2‘:

              {‘颐和园2‘: [‘景区‘, ‘还是景区‘],
               ‘玉泉山2‘: [‘大树‘, ‘还是大树‘]
               }

         }
    ,
    ‘北京3‘:
         {‘昌平3‘:
              {‘沙河3‘: [‘老男孩‘, ‘阿泰包子‘],
               ‘天通苑3‘: [‘臭豆腐‘, ‘烤肉串‘]
               },

          ‘朝阳3‘:
              {‘朝阳门3‘: [‘吉事果‘, ‘老酸奶‘],
               ‘红领巾桥3‘: [‘麻辣烫‘, ‘旋风土豆‘]
               },
          ‘海淀3‘:
              {‘颐和园3‘: [‘景区‘, ‘还是景区‘],
               ‘玉泉山3‘: [‘大树‘, ‘还是大树‘]
               }

         }

}

以上是字典部分

下面才是代码部分

ways = []

def new_dic(zidian):
    # print(y[0].keys())                                            #用于调试
    print(‘you can chose:‘,zidian.keys())
    key = input(">>:").strip()

    try:                                                            #错误输入就退出
        if key in zidian:                                           #如果传入的key值符合规范
            sub_zidian = zidian.get(key)                            #取得key所包含的字典,并赋值给新的字典
            if type(sub_zidian) is dict:
                ways.append(zidian)                                 # 保存初始路径
                return new_dic(sub_zidian)                          #返回字典函数进行下一轮
            else:
                print(sub_zidian)
                print(‘已经到底了,后面选项无法选择‘)                    #字典底层元素为列表,无法继续选择,退出

        elif key == ‘b‘:                                            #如果传入的值是b,返回上层
            # print (len(y),y[-1].keys()keys,y[-2].keys())          #用于调试
            if len(ways)>1:
                print(‘====>‘)
                x=ways.pop()

                return new_dic(x)                                   #y路径库判断,根据路径库当中路径数量,判断是否到顶层
                                                                    #如果没有到顶层,并且y中有两个或以上元素,
                                                                    # 将x赋值为倒数第二个路径(前一级列表),删除最后一个路径,返回
            elif len(ways)==1:                                      #如果到顶层,提供退出提示
                print(‘顶层目录,按“q”退出‘)
                return new_dic(ways[0])
        elif key == ‘q‘:exit()
        else:
            print(‘wrong input!‘)
            return new_dic(zidian)

    except AttributeError:
        print(‘ending‘)

new_dic(l_city)

时间: 2025-01-03 12:02:07

【作业】三级目录的相关文章

博客园博客自动生成三级目录(generate three levels content using JS in cnblogs)

博客园博客自动生成三级目录(generate three levels content using JS in cnblogs) JS代码(JS code) 最近参考了(http://www.cnblogs.com/wangqiguo/p/4355032.html)自动生成目录的方法,我增加了能够自动生成三级目录的JS代码. I learned from (http://www.cnblogs.com/wangqiguo/p/4355032.html) about generating cont

python day-2 三级目录作业

zone = { "广东":{ "广州":{ "天河":["天河体育馆","暨南大学"], "越秀":["越秀公园","五羊"] }, "深圳":{ "福田":["市民中心","平安大厦"], "南山":["腾讯","世

Python_实现三级目录展示

要求: 1.三级菜单 2.可依次选择进入各子菜单,选择序号进入目录 3.输入b返回上级目录,q退出更改目录 代码实现: 1 #!/bin/env python 2 #!--*--coding:utf-8 --*-- 3 # ----*auth:freem* 4 import sys 5 #flag=True 6 #def flas(): 7 #flag=False; 8 #定义字典包括,国家,州(省),市 9 dic={'中国':{'河北':('石家庄','邢台','衡水',),'北京':('昌

day1作业--三级菜单

作业概述: 写一个三级菜单 实现如下功能: (1)可依次选择进入各子菜单 (2)在每一级按“b”都可以返回上一级,按“q"都可以退出 流程图: readme: 简介: three_menu.py是显示三级菜单的程序主要功能: 显示一级(区域).二级(省).三级菜单(市.区),三级菜单再选泽可以显示市区的人口和面积(为了节省时间,随意指定的),在任意级都可以返回上一级,或者退出 三级菜单和市区的人口和面积用字典表示: China_map={ '华北':{'北京':['东城','西城','朝阳','

Python自动化开发学习的第一周作业---三级菜单

作业需求: (1)运行程序输出第一级菜单(2)选择一级菜单某项,输出二级菜单,同理输出三级菜单(3)让用户选择是否要退出(4)有返回上一级菜单的功能 1 data = { 2 "天津":{ 3 "南开区":{ 4 "南开大学":{ 5 "历史系":{}, 6 "文学系":{}, 7 "英语系":{}, 8 }, 9 "科技大学":{ 10 "计算机系&quo

作业-三级菜单

三级菜单: 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功能 菜单数据 menu.txt内容: {'北京': {'海淀': {'五道口': {'soho': {}, '网易': {}, 'google': {}}, '中关村': {'爱奇艺': {}, '汽车之家': {}, 'youku': {}}, '上地': {'百度': {}}}, '昌平': {'沙河': {'老男

Python week1-练习2三级目录

文件:practise2.tar 练习:多级菜单 三级菜单 依次选择菜单 列表和数据字典 #!/usr/bin/env python #Author:Austin def match_name(level): _file = open("dictionary.txt","r") line = _file.readline() while line: _level = line.split(":")[0] _name = line.split(&q

第一周作业-三级菜单

1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功能 1 #coding:utf-8 2 #Author:Mr Zhi 3 file_o = open("menu",'r',encoding="utf-8") #打开三级菜单文件 4 menu= eval(file_o.read()) #把打开后的文件内容转换成字典(文件内容原本是字典) 5 def

Day1 三级目录

d_city = { "河南" : {"郑州" : ["二七区","中原区","回族管城区","惠济区","金水区","上街区"], "信阳" : ["浉河区","平桥区","羊山新区","南湾区","上天梯区","鸡公