zoukankan      html  css  js  c++  java
  • 三级菜单

    2017-09-15  16:55:24

    本博客内多为原创,如需转载,请注明出处,谢谢。


    功能介绍:

        程序可以实现三级菜单功能,可依次选择进入各子菜单,用户可以返回到上一层菜单,也可以随时退出。

      1 # _*_ coding:utf-8 _*_
      2 # _auther_:Mr.chan
      3 
      4 import sys
      5 
      6 # 打印一级菜单
      7 def menu():
      8     while True:
      9         print("一级菜单".center(30,'-'))
     10         for index,key in enumerate(areas.keys(),1):   # 循环并打印省级
     11             print(index,key)
     12         choice1 = input("[q=quit]请输入:")
     13         if choice1 in areas.keys():
     14             menu2(choice1)
     15             break
     16         elif choice1 == "q":
     17             sys.exit("退出系统")
     18         elif choice1 == "b":
     19             print("这里是一级菜单,不能返回")
     20         else:
     21             print("输入有误,请重新输入
    ")
     22             continue
     23 
     24 # 打印二级菜单
     25 def menu2(choice1):
     26     while True:
     27         print("二级菜单:".center(30,'-'))
     28         for index,key in enumerate(areas[choice1].keys(),1):  # 循环并打印地级市
     29             print(index,key)
     30         choice2 = input("[b=back q=quit]请输入:")
     31         if choice2 in areas[choice1].keys():
     32             menu3(choice1,choice2)
     33             break
     34         elif choice2 == "q":
     35             sys.exit("退出系统")
     36         elif choice2 == "b":
     37             menu()
     38         else:
     39             print("输入有误,请重新输入
    ")
     40             continue
     41 
     42 # 打印三级菜单
     43 def menu3(choice1,choice2):
     44     while True:
     45         print("三级菜单:".center(30,'-'))
     46         for index,key in enumerate(areas[choice1][choice2].keys(),1):  # 循环并打印县级市
     47             print(index,key)
     48         choice3 = input("[b=back q=quit]请输入:")
     49         if choice3 in areas[choice1][choice2].keys():
     50             for key in areas[choice1][choice2][choice3]:
     51                 print(key)
     52             choice4 = input('
    没有啦,按回车键返回上一级,按q退出:')
     53             if choice4 == 'q':
     54                 sys.exit("退出系统")
     55             else:
     56                 pass
     57         elif choice3 == "q":
     58             sys.exit("退出系统")
     59         elif choice3 == "b":
     60             menu2(choice1)
     61         else:
     62             print("输入有误,请重新输入")
     63             continue
     64 
     65 areas = {
     66     '广西':{
     67         '梧州':{
     68             '岑溪':['豆腐酿','新圩米粉','茄子酿','白切鸡'],
     69             '藤县':['1','2','3'],
     70             '苍梧':['4','5','6']
     71             },
     72         '南宁':{
     73             '武鸣区':['大明山','伊岭岩','灵水','明秀园'],
     74             '宾阳县':['鱼生','宾阳酸辣粉']
     75             }
     76     },
     77     '广东': {
     78         '佛山': {
     79             '禅城': ['1','2'],
     80             '祖庙': ['1','2']
     81         },
     82         '广州':{
     83             '天河':['1','2'],
     84             '番禺':['1','2']
     85         },
     86         '深圳': {
     87             '福田区':['1','2'],
     88             '龙岗区':['1','2']
     89         }
     90     },
     91     '湖南': {
     92         '长沙市': {
     93             '长沙县': ['1', '2'],
     94             '宁乡县': ['1', '2']
     95         },
     96         '湘潭市': {
     97             '雨湖区': ['1', '2'],
     98             '湘潭县': ['1', '2']
     99         },
    100         '娄底市': {
    101             '娄星区': ['1', '2'],
    102             '新化县': ['1', '2']
    103         }
    104     }
    105 }
    106 
    107 #执行函数
    108 menu()
  • 相关阅读:
    IE调试页面总结
    解决XAMPP不能启动Apche服务问题
    WCF与Ajax开发实践系列课程
    Team Foundation 中的错误和事件消息
    设置SVN提交日志必填
    MyBatis.Net 学习手记
    PandorBox 中安装aria2失败的解决办法
    Linux 启动出现 busybox vx.x.xx built-in shell 的问题
    Sql Server 中查询存储过程的修改时间
    ubuntu挂载和挂载NTFS分区命令
  • 原文地址:https://www.cnblogs.com/relax1949/p/7527288.html
Copyright © 2011-2022 走看看