Python之多级菜单

要求:

  1. 三级菜单
  2. 可依次选择进入各子菜单

流程图后续再补充

代码如下:

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # Author Jiang
 4 
 5 menu={
 6 '陕西':{
 7     '西安':['大雁塔','兵马俑'],
 8     '宝鸡':['法门寺','云台山'],
 9     '汉中':['青木川','武侯祠'],
10 },
11 '山西':{
12     '太原':['晋祠','纯阳宫'],
13     '大同':['恒山','华严寺'],
14     '临汾':['壶口瀑布','千佛洞'],
15 },
16 '湖南':{
17     '长沙':['岳麓山','橘子洲'],
18     '株洲':['神农谷','炎帝陵'],
19     '衡阳':['衡山','水帘洞'],
20 },
21 }
22 
23 province_list=list(menu.keys())
24 while True:
25     for index,key in enumerate(menu.keys(),1):
26         print('',index,key)
27     pro_id=input('请输入省编号,或输入q退出:')
28     if pro_id.isdigit():
29         pro_id=int(pro_id)
30         if pro_id>0 and pro_id<=len(province_list):
31             pro_name=province_list[pro_id-1]
32             city_list=list(menu[pro_name].keys())
33             while True:
34                 for j in city_list:
35                     print('',city_list.index(j)+1,j)
36                 city_id=input('请输入市编号,或输入b返回上级菜单,或输入q退出:')
37                 if city_id.isdigit():
38                     city_id=int(city_id)
39                     if city_id>0 and city_id<=len(city_list):
40                         city_name=city_list[city_id-1]
41                         view_list=menu[pro_name][city_name]
42                         while True:
43                             for i in view_list:
44                                 print('景点',view_list.index(i)+1,i)
45                             view_id=input('请输入景点编号,或输入b返回上级菜单,或输入q退出:')
46                             if view_id=='b':
47                                 break
48                             elif view_id=='q':
49                                 exit()
50                             else:
51                                 print('输入不合格')
52                     else:
53                         print('您输入的用户%d不存在' %city_id)
54                 elif city_id=='b':
55                     break
56                 elif city_id=='q':
57                     exit()
58                 else:
59                     print('输入不合格')
60         else:
61             print('您输入的用户%d不存在' %pro_id)
62     elif pro_id=='q':
63         exit()
64     else:
65         print('输入不合格')

 

转载于:https://www.cnblogs.com/jiangyaju/p/7422681.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值