python之路之多级菜单
1.使用知识点
(1)列表,字典的使用
(2)if条件判断语句
(3)for/while循环的使用
2.代码详细
#!/usr/bin/env python # _*_ coding: utf-8 _*_ # author:chenjianwen # email:1071179133@qq.com # 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.执行结果