利用字典编写菜单程序

要求:

  1. 共有三级菜单可选择
  2. 在每层菜单可进入下一菜单、返回上一层菜单和退出

代码:

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # Author:James Tao
 4 
 5 data={
 6     '北京':{
 7         '昌平':{
 8             '沙河':['oldboy','test'],
 9             '天通苑':['链家地产','我爱我家']
10         },
11         '朝阳':{
12             '望京':['奔驰','陌陌'],
13             '国贸':{'CCIC','HP'},
14             '东直门':{'Advent','飞信'}
15         },
16         '海淀':{}
17     },
18     '山东':{
19         '德州':{},
20         '青岛':{},
21         '济南':{}
22     },
23     '广东':{
24         '东莞':{},
25         '常熟':{},
26         '佛山':{}
27     }
28 }
29 
30 flag=True
31 
32 while flag:
33 
34     for i in data:
35         print(i)
36     first_choice=input('选择进入下一级菜单/输入Q退出:')
37 
38     #进入第一级菜单
39     if first_choice in data:
40 
41         while flag:
42 
43             for j in data[first_choice]:
44                 print('\t',j)
45             second_choice=input('选择进入下一级菜单/输入R返回上一级/输入Q退出:')
46 
47             #进入第二级菜单
48             if second_choice in data[first_choice]:
49                 while flag:
50 
51                     for z in data[first_choice][second_choice]:
52                         print('\t\t', z)
53                     third_choice=input('选择进入下一级菜单/输入R返回上一级/输入Q退出:')
54 
55                     #进入第三级菜单
56                     if third_choice in data[first_choice][second_choice]:
57                         while flag:
58 
59                             for k in data[first_choice][second_choice][third_choice]:
60                                 print('\t\t\t', k)
61                             fourth_choice=input('最后一层,输入R返回上一级/输入Q退出:')
62 
63                             #是否返回到第三级或退出
64                             if fourth_choice=='R':
65                                 break
66                             elif fourth_choice=='Q':
67                                 flag=False
68 
69                     #是否返回到第二级或退出
70                     if third_choice=='R':
71                         break
72                     elif third_choice == 'Q':
73                         flag = False
74 
75             #是否返回到第一级或退出
76             if second_choice=='R':
77                 break
78             elif third_choice == 'Q':
79                 flag = False
80 
81     #是否退出
82     if first_choice=='Q':
83         break

 

转载于:https://www.cnblogs.com/BIT-taozhen/p/9745214.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值