您的位置:首页 > 编程语言 > Python开发

python 写三级菜单

2015-12-11 17:57 423 查看
# -*- coding: utf-8 -*-
__author__ = 'am_mm_NO.1'
import re
memu = {
"东北":{
"吉林省":{
"吉林市":['吉林市1','吉林市2'],
"长春":['长春1','长春2'],},
"辽宁省":{
"沈阳":['沈阳1','沈阳2','沈阳3'],
"大连":['大连1','大连2'],
},
},
'华北':{
'河北省':{
'廊坊':['廊坊1','廊坊2'],
'保定':['保定1','保定2'],
},
'内蒙古':{
'呼和浩特':['呼和浩特1','呼和浩特2','呼和浩特3'],
'包头':['包头1','包头2']
},

},
}
flag = True
while flag: # 全局变量,设置跳出整个循环
for i,v in enumerate(memu.keys()): #遍历第一层字典
print i,v #打印出第一层key,value
num_1=raw_input("请输入一级菜单号,按q退出:").strip()  #接受键盘输入
if num_1 == 'q':
flag = False
break
if num_1.isdigit():
num_1=int(num_1)
if num_1<= len(memu):
key_1 = memu.keys()[num_1]
while flag:
for i1,v1 in enumerate(memu[key_1]):
print i1,v1
num_2 = raw_input("请输入二级菜单号,按q退出,b返回:").strip()
if num_2 == 'q':
flag = False
break
if num_2 == 'b':
break
if num_2.isdigit():
num_2 = int(num_2)
if num_2 <= len(memu[key_1]):
key_2 = memu[key_1].keys()[num_2]
while flag:
for i2,v2 in enumerate(memu[key_1][key_2]):
print i2 ,v2
num_3 = raw_input("请输入三级菜单号,按q退出,b返回:").strip()
if num_3 == 'q':
flag = False
break
if num_3 == 'b':
break
if num_3.isdigit():
num_3 = int(num_3)
if num_3 <= len(memu[key_1][key_2]):
key_3 = memu[key_1][key_2].keys()[num_3]
while flag:
for i3,v3 in enumerate(memu[key_1][key_2][key_3]):
print i3,v3
num_4 = raw_input("按q退出,b返回:").strip()
if num_4 == 'q':
flag = False
break
if num_4 == 'b':
break
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: