通往死亡之路的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('您输入的地点有误 请重新输入')