实现一个三级菜单小功能

发布时间:2019-02-28 20:12:09编辑:auto阅读(1799)

    记录下一下

      1 #!/usr/bin/env python3
      2 '''
      3 需求:三级菜单
      4 三级菜单,依次进入子菜单
      5 '''
      6 City = {
      7     '北京':{
      8         '大兴区':[
      9             '亦庄','黄村','中信新城','B返回','Q退出'
     10         ],
     11         '丰台区':[
     12             '岳各庄','五棵松','丰台路口','B返回','Q退出'
     13         ],
     14         '朝阳区':[
     15             '劲松','双井','国贸','B返回','Q退出'
     16         ],
     17         'B返回':'返回',
     18         'Q退出':'退出'
     19     },
     20     '上海':{
     21         '浦东区':[
     22             '世纪大道','陆家嘴','盛世年华','B返回','Q退出'
     23         ],
     24         '普陀区':[
     25             '东方汽配城','金沙社区','东锦国际大厦','B返回','Q退出'
     26         ],
     27         '徐汇区':[
     28             '上海应用技术大学','上海长途客运南站','上海东方体育中心','B返回','Q退出'
     29         ],
     30         'B返回': '返回',
     31         'Q退出': '退出'
     32     },
     33     '广州':{
     34         '天河区':[
     35             '珠江公园','天河体育场','广东师范大学','B返回','Q退出'
     36         ],
     37         '白云区':[
     38             '广州体育馆','白云文化广场','广州百信广场','B返回','Q退出'
     39         ],
     40         '海珠区':[
     41             '中山大学','城市职业学院','南方医科大学','B返回','Q退出'
     42         ],
     43         'B返回': '返回',
     44         'Q退出': '退出'
     45     }
     46 }
     47 
     48 # print(City)
     49 
     50 Choice_of_city = list(City.keys())#字典转换为列表
     51 # print(City.keys())
     52 # print(City.values())
     53 #打印字典使用format函数格式化
     54 # print('{0[0]} {0[1]} {0[2]}'.format(Choice_of_city))
     55 
     56 def menu():#使用函数def
     57     while True:#只要为真就无限循环
     58         print('{0[0]} {0[1]} {0[2]}'.format(Choice_of_city))#将列表Choice_of_city以函数format格式化打印
     59         User_input_City = input('请选择城市:').strip()#用户输入,次数strip为移除空白
     60         if User_input_City in Choice_of_city:#判断用户输入的信息是否在列表User_input_City中
     61             District = list(City[User_input_City])#获取用户输入信息并根据用户输入信息取出字典City的values,
     62             # 此处用户输入信息User_input_City相当于字典City的keys,并且把获取的values转换为列表District
     63             while True:#只要为真就无限循环
     64                 # if User_input_City in Choice_of_city:
     65                 print('{0[0]} {0[1]} {0[2]} {0[3]} {0[4]}'.format(District))#将列表District以函数format格式化打印
     66                 User_input_District = input('请选择区县:').strip()#用户输入
     67                 if User_input_District not in District:#判断用户输入不在于列表District中
     68                     print('输入错误,请重新输入!!')
     69                     continue#退出当前循环继续下一次循环
     70                 if User_input_District in District:#判断用户输入是否在列表District中
     71                     if User_input_District == District[3]:#判断用户输入是否等于District中第4个元素
     72                         break#跳出当前循环
     73                     elif User_input_District == District[4]:#判断用户输入是否等于District中第4个元素
     74                         return#退出整个函数,这里用来退出所有循环
     75                     else:
     76                         while True:
     77                             Township = (City[User_input_City][User_input_District])
     78                             print('{0[0]} {0[1]} {0[2]} {0[3]} {0[4]}'.format(Township))
     79                             User_input_township = input('选择乡镇:').strip()
     80                             if User_input_township not in Township:
     81                                 print('输入错误,请重新输入!!')
     82                                 continue
     83                             if User_input_township in Township:
     84                                 if User_input_township == Township[3]:
     85                                     break
     86                                 if User_input_township == Township[4]:
     87                                     return
     88                                 else:
     89                                     print('Bingo!!!')
     90                                     return
     91                             else:
     92                                 continue
     93                 else:
     94                     break
     95             else:
     96                 continue
     97         else:
     98             print('输入错误,请重新输入!!')
     99             continue
    100         # else:
    101         #         continue
    102     # else:
    103     #     print('输入不正确,请重新输入!!')
    104 menu()

     

关键字