通往死亡之路的python笔记之三级菜单编写

要求:1.打印市、区、街道三级菜单      2.按b可随时返回上一级3.按q可随时退出程序

dict={'北京':{'海淀区':['中关村','北太平庄','西三旗'], '昌平区':['回龙观','霍营','沙河'],'朝阳区':['酒仙桥','望京','将台']},

'上海':{'浦东新区':['陆家嘴','周家渡','塘桥'],'宝山区':['罗店镇','大场镇','杨行镇'],'虹口区':['广中路','曲阳路','欧阳路']},

'广州':{'白云区':['曲沃','侯马','临汾'],'天河区':['运城','新绛','闻喜'],'南沙区':['太原','小店','杏花岭']}}

dict_list = list(dict.keys())

while True:

for i in dict_list:

print(i)

town=input('请输入你的工作地点或输入q(quit)退出:')

while not town.strip():

town = input('请再次输入你的工作地点或输入q(quit)退出:')

if town in dict_list:

area_list=list(dict[town].keys())

#while True:

#for b in area_list:

#print(b)

while True:

for b in area_list:

print(b)

area=input('请选择区,或输入b(back)返回上级菜单,或输入q(quit)退出:')

while not town.strip():

area = input('请正确输入:')

if area in area_list:

row_list=dict[town][area]

#for a in dict[town][area]:

#print(a)

while True:

for a in dict[town][area]:

print(a)

row=input('请选择街道,或输入b(back)返回上级菜单,或输入q(quit)退出:')

while not row.strip():

row = input('请正确输入:')

if row in dict[town][area]:

print ('您的信息是:\n',town,'(市)',area,'(区)',row,'(路)')

exit()

elif row == 'b':

break

elif row == 'q':

exit()

else:

print('您输入的地点有误 请重新输入')

elif area == 'b':      ###break  终止此次循环  跳到上一个循环

break

elif area == 'q':    ####直接退出程序

exit()

else:

print('您输入的地点有误 请重新输入')

elif town == 'q':

break

else:

print('您输入的地点有误 请重新输入')



dict={'北京':{'海淀区':['中关村','北太平庄','西三旗'], '昌平区':['回龙观','霍营','沙河'],'朝阳区':['酒仙桥','望京','将台']},

'上海':{'浦东新区':['陆家嘴','周家渡','塘桥'],'宝山区':['罗店镇','大场镇','杨行镇'],'虹口区':['广中路','曲阳路','欧阳路']},

'广州':{'白云区':['曲沃','侯马','临汾'],'天河区':['运城','新绛','闻喜'],'南沙区':['太原','小店','杏花岭']}}

dict_list = list(dict.keys())              ##将北上广以列表形式显示出来

while True:

for i in dict_list:

print(i)            #打印市

town=input('请输入你的工作地点或输入q(quit)退出:')

while not town.strip():

town = input('请再次输入你的工作地点或输入q(quit)退出:')

if town in dict_list:              #判断是否在列表中

area_list=list(dict[town].keys())  #显示区信息 以列表形式

#while True:

#for b in area_list:

#print(b)

while True:

for b in area_list:        #循环读取区信息

print(b)

area=input('请选择区,或输入b(back)返回上级菜单,或输入q(quit)退出:')

while not town.strip():

area = input('请正确输入:')

if area in area_list:

row_list=dict[town][area]      #街道信息

#for a in dict[town][area]:

#print(a)

while True:

for a in dict[town][area]:

print(a)

row=input('请选择街道,或输入b(back)返回上级菜单,或输入q(quit)退出:')

while not row.strip():

row = input('请正确输入:')

if row in dict[town][area]:

print ('您的信息是:\n',town,'(市)',area,'(区)',row,'(路)')

exit()

elif row == 'b':

break            #结束此次循环 自动跳到上一层循环

elif row == 'q':

exit()          #直接终止程序

else:

print('您输入的地点有误 请重新输入')

elif area == 'b':      ###break  终止此次循环  跳到上一个循环

break

elif area == 'q':    ####直接退出程序

exit()

else:

print('您输入的地点有误 请重新输入')

elif town == 'q':

break

else:

print('您输入的地点有误 请重新输入')

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python 是一种相当高级的语言,通过 Python 解释器把符合语法的程序代码转换成 CPU 能够执行的机器码...
    Python程序媛阅读 1,967评论 0 3
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,790评论 0 33
  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 7,649评论 1 118
  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 1,805评论 0 1
  • 最近在慕课网学习廖雪峰老师的Python进阶课程,做笔记总结一下重点。 基本变量及其类型 变量 在Python中,...
    victorsungo阅读 1,773评论 0 5