要求:
共有三级菜单可选择
在每层菜单可进入下一菜单, 返回上一层菜单和退出
代码:
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- # Author:James Tao
- data={
- '北京':{
- '昌平':{
- '沙河':['oldboy','test'],
- '天通苑':['链家地产','我爱我家']
- },
- '朝阳':{
- '望京':['奔驰','陌陌'],
- '国贸':{'CCIC','HP'},
- '东直门':{'Advent','飞信'}
- },
- '海淀':{}
- },
- '山东':{
- '德州':{},
- '青岛':{},
- '济南':{}
- },
- '广东':{
- '东莞':{},
- '常熟':{},
- '佛山':{}
- }
- }
- flag=True
- while flag:
- for i in data:
- print(i)
- first_choice=input('选择进入下一级菜单 / 输入 Q 退出:')
- #进入第一级菜单
- if first_choice in data:
- while flag:
- for j in data[first_choice]:
- print('\t',j)
- second_choice=input('选择进入下一级菜单 / 输入 R 返回上一级 / 输入 Q 退出:')
- #进入第二级菜单
- if second_choice in data[first_choice]:
- while flag:
- for z in data[first_choice][second_choice]:
- print('\t\t', z)
- third_choice=input('选择进入下一级菜单 / 输入 R 返回上一级 / 输入 Q 退出:')
- #进入第三级菜单
- if third_choice in data[first_choice][second_choice]:
- while flag:
- for k in data[first_choice][second_choice][third_choice]:
- print('\t\t\t', k)
- fourth_choice=input('最后一层, 输入 R 返回上一级 / 输入 Q 退出:')
- #是否返回到第三级或退出
- if fourth_choice=='R':
- break
- elif fourth_choice=='Q':
- flag=False
- #是否返回到第二级或退出
- if third_choice=='R':
- break
- elif third_choice == 'Q':
- flag = False
- #是否返回到第一级或退出
- if second_choice=='R':
- break
- elif third_choice == 'Q':
- flag = False
- #是否退出
- if first_choice=='Q':
- break
来源: http://www.bubuko.com/infodetail-2795635.html