python 实现三级菜单

python

要求:

  1. 可选择进入各级子菜单
  2. 在各级菜单下可以选择退出
  3. 在子菜单下可以返回上一级菜单

Readme:

  运行程序,输入菜单选项,进入对应的子菜单

# Joe Young

data = {

'山东':{

'济南':[

'市中区', '天桥区', '历下区', '槐荫区', '历城区', '章丘市',

'长清县', '平阴县', '济阳县', '商河县'

],

'青岛':[

'市南区', '市北区', '四方区', '李沧区', '黄岛区', '崂山区',

'城阳区', '胶州市', '即墨市', '平度市', '胶南市', '莱西市'

],

'枣庄':[

'市中区', '寒亭区', '台儿庄', '峄城区', '薛城区', '滕州市'

],

'东营':[

'东营区', '河口区', '牛庄区', '利津县', '垦利县', '广饶县'

],

'潍坊':[

'潍城区', '坊子区', '寒亭区', '奎文区', '青州市', '诸城市',

'寿光市', '安丘市', '高密市', '昌邑市', '昌乐县', '临朐县'

],

'滨州':[

'滨州市', '沾化县', '博兴县', '邹平县', '惠民县', '阳信县',

'无棣县'

],

'烟台':[

'芝罘区', '福山区', '莱山区', '牟平区', '龙口市', '莱阳市',

'蓬莱市', '招远市', '栖霞市', '海阳市', '莱州市', '长岛县'

],

'济宁':[

'市中区', '任城区', '曲阜市','兖州市', '邹城市', '汶上县',

'泗水县', '微山县', '金乡县','嘉祥县', '鱼台县'

],

'泰安':[

'泰山区', '郊区', '新泰市', '肥城市', '宁阳县', '东平县'

],

'威海':[

'环翠区', '荣城市', '文登市', '乳山市'

],

'日照': [

'东港区', '五莲县', '莒县'

],

'莱芜': [

'莱城区', '钢城区'

],

'临沂': [

'兰山区', '罗庄区', '河东区', '沂南县', '沂水县', '莒南县',

'临沭县', '郯城县', '苍山县', '费县', '平邑县', '蒙阴县'

],

'菏泽': [

'菏泽市', '鄄城县', '巨野县', '成武县', '单县', '定陶县',

'曹县', '东明县', '郓城县'

],

'聊城': [

'东昌府区', '临清市', '高唐县', '茌平县', '东阿县', '阳谷县',

'莘县', '冠县'

],

'德州': [

'德州区', '乐陵市', '禹城市', '陵县', '平原县', '夏津县',

'武城县', '齐河县', '临邑县', '宁津县', '庆云县'

]

},

'北京':{

'东城区':[

'安定门', '建国门', '朝阳门', '东直门', '东华门'

],

'西城区':[

'西长安街', '金融街', '牛街', '广安门内', '广安门外'

],

'朝阳区':[

'南磨房', '高碑店', '将台', '太阳宫', '小红门'

],

'丰台区':[

'右安门', '太平桥', '西罗园', '大红门', '南苑'

],

'石景山区':[

'八宝山', '老山', '八角', '古城', '苹果园'

],

'海淀区':[

'万寿路', '羊坊店', '甘家口', '八里庄', '紫竹院'

]

},

'天津':{

'西青区':{

'西营门街道', '李七庄街道', '赤龙南街道', '赤龙北街道', '中北镇'

},

'和平区':{

'劝业场街道', '小白楼街道', '五大道街道', '新兴街道', '南营门街道'

},

'河东区':{

'大王庄街道', '大直沽街道', '中山门街道', '富民路街道', '二号桥街道'

},

'河西区':{

'大营门街道', '下瓦房街道', '桃园街道', '挂甲寺街道', '马场街道'

},

'南开区':{

'长虹街道', '鼓楼街道', '兴南街道', '广开街道', '万兴街道'

}

}

}

while True:

for i in data: # 输出一级菜单

print(i)

level1 = input('选择进入,或输入q退出:')

if level1 == 'q': # 输入'q'退出

exit()

if level1 not in data: # 判断输入是否正确

print('输入有误,请重新输入:')

continue

else:

while True:

for j in data[level1]: # 输出二级菜单

print('\t', j)

level2 = input('选择进入,输入b返回上一级,输入q退出:')

if level2 == 'q': # 输入'q'退出

exit()

elif level2 == 'b': # 输入'b'返回一级菜单

break

else:

if level2 not in data[level1]: # 判断输入是否正确

print('输入有误,请重新输入:')

continue # 输入有误,结束本次循环

else:

for k in data[level1][level2]: # 输出三级菜单

print('\t\t', k)

flag = True

while flag:

choice = input('输入b返回上一级,输入q退出:')

if choice == 'b':

flag = False

elif choice == 'q':

exit()

else:

continue

else: # 输入'b' 时,flag = False,结束 119 行的 while 循环

continue

以上是 python 实现三级菜单 的全部内容, 来源链接: utcz.com/z/388759.html

回到顶部