程序中利用多级字典来存储三级菜单, 通过一系列while循环和for循环,实现了三级菜单的查询,选择,退回上级菜单,退出程序几个功能。
缺点:程序语句过于重复,效率低。
#-*-coding:utf-8-*- date={ '北京':{ '昌平区':{ '沙河':['oldboy','test'], '通天苑':['链家地产','我爱我家'] }, '朝阳区':{ '望京':['奔腾','默默'], '国贸':['CICC','HP'], '东直门':['Advent','飞信'] }, '海定区':{ '天安门':['国旗','花'], '长成':['砖头','城墙'], } }, '河南':{ '郑州市':{ '二七区':['二七塔','国美电器'], '回族区':['人民公园','大学城'] }, '商丘市':{ '古城区':['古城墙','小吃一条街'], '东关区':['情人屋','医院'] }, '洛阳市':{ '龙门区':['龙门石窟','皇宫'], '峡谷区':['龙潭大峡谷','牡丹园'] } } } may_exit=False while not may_exit: for i in date: print (i) choice=raw_input('选择进入1:') if choice in date: while not may_exit: for i2 in date[choice]: print i2 choice2 = raw_input('选择进入2,按q退回上一级:') if choice2 in date[choice]: while not may_exit: for i3 in date[choice][choice2]: print i3 choice3=raw_input('选择进入3,按q退回上一级:') if choice3 in date[choice][choice2]: for i4 in date[choice][choice2][choice3]: print i4 choice4 = raw_input('最后的选择,按b退出,按q退回上一级:') if choice4.upper()=='B': may_exit = True print '成功退出程序' elif choice4.upper()=='Q': pass else: print '选择结束,你的选择结果是%s:'%choice4 exit() elif choice3.upper() == 'Q': break elif choice2.upper()=='Q': break
运行结果: