码迷,mamicode.com
首页 > 编程语言 > 详细

Python程序3——三级菜单程序

时间:2017-11-05 21:11:29      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:exit   嵌套   googl   爱奇艺   嵌套if   python   class   循环   put   

程序: 三级菜单

要求: 

  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  # 这里一定要记得退出
 97     elif choice1 == "b":
 98         break
 99     elif choice1 == "q":
100         exit_flag = False
101         break  # 这里一定要记得break,这样exit_flag才能生效的,跳出整个循环
102     else:
103         print(你的输入有误)
104         break  # 这里一定要记得退出
105 
106     break

写成这样感觉还是挺low的,后面的二十几行代码就是复制了。

Python程序3——三级菜单程序

标签:exit   嵌套   googl   爱奇艺   嵌套if   python   class   循环   put   

原文地址:http://www.cnblogs.com/Ian-learning/p/7788634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!