python3初识 之 简单目录练习
1 # -*- coding: utf-8 -*- 2 ''' 3 Accounting:三级目录,输入目录中选项进入下一级,输入b返回上一级, 4 输入q退出程序,输入其他内容则当前目录继续输入 5 ''' 6 dict = { 7 '北京':{ 8 '朝阳':{ 9 '朝阳群众':{ 10 '路人甲':{}, 11 '路人乙':{}, 12 '路人丙':{} 13 }, 14 '朝阳群众2':{} 15 }, 16 '海淀':{}, 17 '昌平':{} 18 }, 19 '上海':{}, 20 '广州':{} 21 } 22 exit_flag = False #退出标志位 23 while not exit_flag: 24 for i in dict: 25 print(i) 26 chioce = input('选择进入层级1--->>') 27 if chioce in dict: 28 while not exit_flag: 29 for i2 in dict[chioce]: 30 print(i2) 31 chioce2 = input('选择进入层级2--->>') 32 if chioce2 in dict[chioce]: 33 while not exit_flag: 34 for i3 in dict[chioce][chioce2]: 35 print(i3) 36 chioce3 = input('选择进入层级3--->>') 37 if chioce3 in dict[chioce][chioce2]: 38 while not exit_flag: 39 for i4 in dict[chioce][chioce2][chioce3]: 40 print(i4) 41 chioce4 = input('最后层级,输入b返回上一层级--->>') 42 if chioce4 == 'b': 43 pass 44 elif chioce4 == 'q': 45 exit_flag = True 46 elif chioce3 == 'b': 47 break 48 elif chioce3 == 'q': 49 exit_flag = True 50 elif chioce2 == 'b': 51 break 52 elif chioce2 == 'q': 53 exit_flag = True 54 elif chioce == 'q': 55 exit_flag = True
在练习时把判断与循环顺序搞错了,头痛了好一阵(if 与 while)
优美胜于丑陋(Python 以编写优美的代码为目标)//
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)//
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)//
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)//
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)//
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)//
可读性很重要(优美的代码是可读的)//
即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)//
不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)//
当存在多种可能,不要尝试去猜测‘而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)。虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )//
做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)//
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)//
命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)//