当前位置: 移动技术网 > IT编程>脚本编程>Python > 实现一个三级菜单小功能

实现一个三级菜单小功能

2019年02月21日  | 移动技术网IT编程  | 我要评论

67.220.91.19,十个字母,2017年云南省公务员考试成绩排名

记录下一下

  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()

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网