欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

实现一个三级菜单小功能

程序员文章站 2022-03-20 20:11:03
记录下一下 ......

记录下一下

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