zoukankan      html  css  js  c++  java
  • Python程序3——三级菜单程序

    程序: 三级菜单

    要求: 

    1. 打印省、市、县三级菜单
    2. 可返回上一级
    3. 可随时退出程序
      1 menu = {
      2     '北京':{
      3         '海淀':{
      4             '五道口':{
      5                 'soho':{},
      6                 '网易':{},
      7                 'google':{}
      8             },
      9             '中关村':{
     10                 '爱奇艺':{},
     11                 '汽车之家':{},
     12                 'youku':{},
     13             },
     14             '上地':{
     15                 '百度':{},
     16             },
     17         },
     18         '昌平':{
     19             '沙河':{
     20                 '老男孩':{},
     21                 '北航':{},
     22             },
     23             '天通苑':{},
     24             '回龙观':{},
     25         },
     26         '朝阳':{},
     27         '东城':{},
     28     },
     29     '上海':{
     30         '闵行':{
     31             "人民广场":{
     32                 '炸鸡店':{}
     33             }
     34         },
     35         '闸北':{
     36             '火车战':{
     37                 '携程':{}
     38             }
     39         },
     40         '浦东':{},
     41     },
     42     '山东':{},
     43 }
     44 
     45 exit_flag = True   # 设置跳出整个循环的指针
     46 
     47 while exit_flag:             #如果要一直在这个菜单里面,要直接用死循环;
     48     #如果里面有几个循环,那么现有的知识中,只能设置一个外面的变量来设置退出条件
     49     for i in menu:   #显示当前这一层的内容
     50         print(i)
     51 
     52     choice1 = input('请输入省份,退出请输入q')
     53 
     54     if choice1 in menu:
     55         #这个是省份一层
     56         while exit_flag:
     57             for i2 in menu[choice1]:
     58                 print(i2)
     59             choice2 = input('请输入区,b为上一层,q为退出')
     60             if choice2 in menu[choice1]:
     61                 #这个是区一层
     62                 while exit_flag:
     63                     for i3 in menu[choice1][choice2]:
     64                         print(i3)
     65                     choice3 = input('请输入地点,b为上一层,q为退出')
     66                     if choice3 in menu[choice1][choice2]:
     67                         #这个是最底层
     68                         while exit_flag:
     69                             if i3 in menu[choice1][choice2][choice3]:
     70                                 print(i3)
     71                             print("这个是最后一层")
     72                             choice4 = input('选择b,或者q')
     73                             if choice4 == "b":
     74                                 break
     75                             elif choice4 == "q":
     76                                 exit_flag =False
     77                                 break         #这里一定要记得break,这样exit_flag才能生效的,跳出整个循环
     78                             else:
     79                                 print('你的输入有误')
     80                                 break               #这里一定要记得退出
     81                     elif choice3 == "b":
     82                         break
     83                     elif choice3 == "q":
     84                         exit_flag = False
     85                         break  # 这里一定要记得break,这样exit_flag才能生效的,跳出整个循环
     86                     else:
     87                         print('你的输入有误')
     88                         break  # 这里一定要记得退出
     89             elif choice2 == "b":            #elif可以多个一起用的,这样就可以避免多层嵌套if。
     90                 break
     91             elif choice2 == "q":
     92                 exit_flag = False
     93                 break  # 这里一定要记得break,这样exit_flag才能生效的,跳出整个循环
     94             else:
     95                 print('你的输入有误')
     96                 break  # 这里一定要记得退出
     99     elif choice1 == "q":
    100         exit_flag = False
    101         break  # 这里一定要记得break,这样exit_flag才能生效的,跳出整个循环
    102     else:
    103         print('你的输入有误')   
    

    重复的代码比较多。但是目前学的好像只能这么用。注意最后几行代码,由于是第一层,不能退出,所以不一样。

  • 相关阅读:
    工作态度
    SQL7.0有如下问题:视图字段未及时刷新
    遇到不讲交期的客户
    关于CashFiesta.com
    设置主机多IP技术失败
    已好的客户要建立VSS了
    MSSQL说日志已满
    特殊的四舍五入
    如何保证对帐不遗漏?
    Linux常用命令之其它类型命令汇总
  • 原文地址:https://www.cnblogs.com/Ian-learning/p/7788634.html
Copyright © 2011-2022 走看看