zoukankan      html  css  js  c++  java
  • 栈,队列的应用

    栈  

    1.计算文件的大小

    # def get_size(path):
    #     sum = 0
    #     l = [path]
    #     while l :
    #         path = l.pop()
    #         lis = os.listdir(path)
    #         for name in lis:
    #             son_path = os.path.join(path,name)
    #             if os.path.isfile(son_path):
    #                 sum+=os.path.getsize(son_path)
    #             else:
    #                 l.append(son_path)
    #     return sum
    # result = get_size(path)
    # print(result)
     1 def get_size(path):
     2     sum = 0
     3     l = [path]
     4     while l :
     5         path = l.pop()
     6         lis = os.listdir(path)
     7         for name in lis:
     8             son_path = os.path.join(path,name)
     9             if os.path.isfile(son_path):
    10                 sum+=os.path.getsize(son_path)
    11             else:
    12                 l.append(son_path)
    13     return sum
    14 result = get_size(path)
    15 print(result)
    View Code

    2.三级菜单

     1 menu = {
     2     '北京': {
     3         '海淀': {
     4             '五道口': {
     5                 'soho': {},
     6                 '网易': {},
     7                 'google': {}
     8             },
     9             '中关村': {
    10                 '爱奇艺': {},
    11                 '汽车之家': {},
    12                 'youku': {},
    13             },
    14             '上地': {
    15                 '百度': {},
    16             },
    17         },
    18         '昌平': {
    19             '沙河': {
    20                 '老男孩': {},
    21                 '北航': {},
    22             },
    23             '天通苑': {},
    24             '回龙观': {},
    25         },
    26         '朝阳': {},
    27         '东城': {},
    28     },
    29     '上海': {
    30         '闵行': {
    31             "人民广场": {
    32                 '炸鸡店': {}
    33             }
    34         },
    35         '闸北': {
    36             '火车战': {
    37                 '携程': {}
    38             }
    39         },
    40         '浦东': {},
    41     },
    42     '山东': {},
    43 }
    44 
    45 li = [menu]
    46 while 1:
    47     for key in li[-1]
    48         print(key)
    49     k = input('<<<')
    50     if k in li[-1]:
    51         li.append(li[-1][k])
    52     elif k.upper() == 'B'
    53         li.pop
    54     elif k.upper() == 'Q'
    55         break
    View Code
    menu = {
        '北京': {
            '海淀': {
                '五道口': {
                    'soho': {},
                    '网易': {},
                    'google': {}
                },
                '中关村': {
                    '爱奇艺': {},
                    '汽车之家': {},
                    'youku': {},
                },
                '上地': {
                    '百度': {},
                },
            },
            '昌平': {
                '沙河': {
                    '老男孩': {},
                    '北航': {},
                },
                '天通苑': {},
                '回龙观': {},
            },
            '朝阳': {},
            '东城': {},
        },
        '上海': {
            '闵行': {
                "人民广场": {
                    '炸鸡店': {}
                }
            },
            '闸北': {
                '火车战': {
                    '携程': {}
                }
            },
            '浦东': {},
        },
        '山东': {},
    }
    
    li = [menu]
    while li:  # 这个是以li为条件,而不是1  因为和下面的 Q 有关联
        for key in li[-1]:
            print(key)
        k = input('<<<')  #k是输入
        if k in li[-1]:  
            li.append(li[-1][k])
        elif k.upper() == 'Q':  #  Q
            li.clear() #清空了字典,所以再次循环判断的时候就为空 就自动退出 不再循环
        elif k.upper() == 'B':
            li.pop()
  • 相关阅读:
    linux shell中 if else以及大于、小于、等于逻辑表达式
    下载chrome插件和离线安装CRX文件的方法
    ROM、PROM、EPROM、EEPROM、FLASH ROM简介
    Scientific Toolworks Understand
    C和C++相互调用
    ubuntu 问题
    ubuntu 精简配置
    Linux i2c 读写程序
    是armhf,还是armel?
    Linux Free命令每个数字的含义 和 cache 、buffer的区别
  • 原文地址:https://www.cnblogs.com/CNHK1949/p/10602101.html
Copyright © 2011-2022 走看看