python之路之多级菜单

python之路之多级菜单

python之路之多级菜单

1.使用知识点

  (1)列表,字典的使用

  (2)if条件判断语句

  (3)for/while循环的使用

2.代码详细

#!/usr/bin/env python
# _*_ coding: utf-8 _*_
# author:chenjianwen
# email:[email protected]
# update_time:2017-10-16 13:03
# blog_address:www.cnblogs.com/chenjw-note
list_data = {
'广东':{
'广州市':['天河','越秀','白云'],
'深圳市':['福田','南山','龙华'],
'东莞市':['长安','虎门','大朗'],
'茂名市':['信宜','高州','前排']
},
'广西':{
'南宁市':['青秀区','兴宁区','江南区'],
'桂林市':['象山区','七星区','临桂区'],
'梧州市':['长洲区','龙圩区','万秀区'],
'百色市':['右江区','靖西市','田阳县']
},
'湖北':{
'武汉市':['江岸区','江汉区','硚口区'],
'黄石市':['黄石港区','西塞山区','下陆区'],
'十堰市':['茅箭区','张湾区','郧阳区'],
'宜昌市':['枝江县','远安县','兴山县']
}
}
first_level_data = []
for one in list_data:
first_level_data.append(one)
#print(first_level_data)
import sys
def main(data):
while True:
print("本级菜单如下,请选择:")
for one in data:
print(one)
select1 = input("请选择【q退出,b上一级】:").strip()
if select1.startswith('q'): ##输入q则退出
sys.exit(0)
elif select1.startswith('b'): ##输入b则判断,当一级菜单的内容存在data中时,则说明目前是第一级,跳出循环继续下一次循环,否则返回上一级
if first_level_data[0] in data:
continue
else:
return
if type(data) == dict: ##通过判断data是否为字典格式来确定执行内容
next_level = data.get(select1)
if next_level:
main(next_level)
else:
print("输入有误,请重新输入:")
else:
print("没有下一级了....,请重新选择...") main(list_data)

3.执行结果

2_python之路之多级菜单-LMLPHP

05-11 22:28