while 循环
查文件夹大小
import os def get_size(path): # print(lst) size = 0 l = [path] while l: path = l.pop() #弄出一个并且 加到 path lst = os.listdir(path) # 列出 目录里的东西 #列出指定目录下的所有文件和子目录 for name in lst : son_path = os.path.join(path,name) # 拼接 #G:\作业\答案\day05homework print(son_path) if os.path.isfile(son_path): #is 文件 size += os.path.getsize(son_path) else: l.append(son_path) # for name in os.listdir(son_path): # return Tru): # print(name) return size a = get_size(flie) print(a)
#真正难的就是 字符串 循环 列表 不是 并发 网络 那些都是集成的
#老师 对算法感兴趣 亦乐意分享 棒
# 搞算法 和 学习别的没关系 一步一步
三级目录 china_ditie = { "北京": { "一号线": ["四惠", "大望路", "天安门", "西单"], "二号线": ["北京站", "朝阳门", "东直门", "西直门"], "三号线": ["国贸", "三元桥", "知春路", "巴沟"] }, "上海": { "四号线": ["徐家汇", "人民广场", "延长路", "共康路", "呼兰路"], "五号线": ["东昌路", "静安寺", "江苏路", "虹桥火车站"], "六号线": ["宝山路", "赤峰路", "曹阳路", "虹桥路", "宜山路"] }, "广州": { "七号线": ["东山口", "农讲所", "烈士陵园", "公园前", "体育西路"], "八号线": ["黄边", "纪念堂", "三元里", "白云公园"], "九号线": ["沙河顶", "北京路", "一德路", "文化公园"] }, "深圳": { "一号线": ["高新园", "桃园", "白石洲", "华侨城"], "四号线": ["白石龙", "明乐", "少年宫", "红山"], "五号线": ["大学城", "兴东", "西里", "深圳北站"] }, }
l = [china_ditie] while 1 : for i in l[-1]: print(i) # key = input('>>>') # if key not in l[-1]: # l.append(key) l.append(l[-1]['三号线']) for i in china_ditie: print(i) key1 = input('>>>') for i in china_ditie[key1]: print(i) key2 = input('>>>') for i in china_ditie[key1][key2]: print(i)
l = [china_ditie] # 一个元素 while 1: for i in l[-1]: print(i) key = input('>>>').strip() if key.upper() == 'B': del l[-1] elif key.upper() == 'Q': l.clear() # elif type(l[-1]) == dict: #改了这么久不会 ,就在这地方动小手脚 可以检测上一级啊 elif type(l[-1]) == dict: #判断 两次字典 最后一次列表不执行 判断的上一级 循环显示添加的是下一级 l.append(l[-1][key]) #=l.append(l[-1].get(key))
menu = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'google': {} }, '中关村': { '爱奇艺': {}, '汽车之家': {}, 'youku': {}, }, '上地': { '百度': {}, }, }, '昌平': { '沙河': { '老男孩': {}, '北航': {}, }, '天通苑': {}, '回龙观': {}, }, '朝阳': {}, '东城': {}, }, '上海': { '闵行': { "人民广场": { '炸鸡店': {} } }, '闸北': { '火车战': { '携程': {} } }, '浦东': {}, }, '山东': {}, }
l = [menu] while l: for k in l[-1]: print(k) key = input('>>>') if key.upper() == 'B': l.pop() elif key.upper() == 'Q': l.clear() elif l[-1].get(key): l.append(l[-1][key])