zoukankan      html  css  js  c++  java
  • 三级登陆 @1 省市县乡四级 @2 可以返回上一级 @3可以立即退出

     1 #!coding: utf-8
     2 menu={
     3   '河北':{
     4            '邯郸':{
     5                     '涉县':{
     6                              '偏店':{},
     7                              '井店':{}
     8                            },
     9                     '武安':{
    10                              '武安某镇1':{},
    11                              '武安某镇2':{}
    12                            }
    13                    },
    14            '石家庄':{
    15                     '庄县1':{
    16                               '庄县1某镇1':{},
    17                               '庄县1某镇2':{}
    18                             },
    19                     '庄县2':{
    20                               '庄县2某镇1':{},
    21                               '庄县2某镇2':{}
    22                             }
    23                     }
    24         }
    25                                         ,
    26   '北京':{
    27            '西城区':{
    28                    '菜市口':{
    29                             '真功夫':{},
    30                             '新网':{}
    31                             },
    32                    '宣武门':{
    33                             '移动网':{},
    34                             '地铁站':{}
    35                             }
    36                    },
    37            '海淀区':{}
    38 
    39   '北京':{
    40            '西城区':{
    41                    '菜市口':{
    42                             '真功夫':{},
    43                             '新网':{}
    44                             },
    45                    '宣武门':{
    46                             '移动网':{},
    47                             '地铁站':{}
    48                             }
    49                    },
    50            '海淀区':{}
    51 
    52      },
    53   '山西':{}
    54 }
    55 current_layer = menu     #动态变量
    56 parrent_layers= []      
    57 while True:
    58   for key in current_layer:
    59     print key                  #1----将整个大的列表中键打印出,河北,北京和山西;2----打印出邯郸  石家庄  3----打印出涉县,武安 4----打印出,偏店,井店
    60   choice = raw_input(">>>:").strip()   1----例如选择河北,choice=河北     2------邯郸     3------涉县  4------偏店
    61   if choice in current_layer:
    62     parrent_layers.append(current_layer) #1----parrent_layers现在是原来大的列表;  2---加上邯郸,石家庄    3---加上涉县  武安 4-----加上偏店,井店  -------关键处,一级一级返回;
    63     current_layer = current_layer[choice] #1---这步current_layer将成为邯郸,石家庄;2---成为涉县,武安;   3----成为偏店,井店  4----无内容啦
    64   elif choice == 'b':  #定义的返回上一级;
    65     if parrent_layers:
    66       current_layer = parrent_layers.pop()  #pop的用法很好,从末尾到首,一次pop掉;
    67   elif choice == 'q':
    68     break
    69   else:
    70     print "无此项"
  • 相关阅读:
    Eclipse相关问题
    分词工具比较(转)
    package-info.java文件详解
    如何在大量jar包中搜索特定字符
    eclipse插件在线发布发布和版本更新(web site) 转
    Peer Code Reviews Made Easy with Eclipse Plug-In
    Eclipse中Ant的配置与测试 转
    astyle 使用说明
    Eclipse远程调试出现“JDWP Transport dt_socket failed to initialize”的解决方案
    记录一个中括号的问题
  • 原文地址:https://www.cnblogs.com/lixinliang/p/8284649.html
Copyright © 2011-2022 走看看