最近几天在出差,再加上三级菜单感觉好难,耽搁了好多天没有更新,今天终于把三级菜单编写出来了,挺开心。
#_*_coding:utf-8_*_
#作者:王佃元
#日期:2019/12/9
‘‘‘
三级菜单
1.省级->市级->县级
2.可选择省、市、县
3.可返回上级菜单
4.可随时退出
语言描述需求
1.罗列出省份及代号 循环输出
2.获取用户输入代号 需要进行判断:输入值是否在省份代号之间、是否为整数
3.罗列出用户选择的省份下面对应的市
4.提示用户输入需要进入的市级代号
5.获取用户输入代号 需要进行判断:输入值是否在市级代号之间、是否为整数
6.用户还可以选择返回上一级菜单,如果不选择进入下一步
7.罗列出用户选择的市下面的县
8.提示用户输入需要进入的县级代号
9.获取用户输入代号 需要进行判断:输入值是否在市级代号之间、是否为整数
10.用户可在任意菜单退出程序 标志位
‘‘‘
menu = {
‘上海‘:{
‘闵行区‘:{
‘老闵行‘:{
‘紫竹科技园‘:{},
‘上海交大‘:{},
},
‘新闵行‘:{
‘浦江镇‘:{},
‘漕河泾‘:{},
},
},
‘黄浦区‘:{
‘外滩‘:{
‘东方明珠‘:{},
‘南京步行街‘:{},
‘豫园‘:{},
},
‘建筑‘:{
‘人民广场‘:{},
‘大剧院‘:{},
},
},
},
‘深圳‘:{
‘福田区‘:{
‘华强北‘:{
‘华强电子城‘:{},
‘赛格电子城‘:{},
},
‘步行街‘:{
‘东门步行街‘:{},
‘荔枝公园‘:{},
},
},
‘南山区‘:{
‘科技园‘:{
‘南山科技园‘:{},
‘西丽科技园‘:{},
},
‘手机园‘:{
‘酷派科技园‘:{},
‘oppo科技园‘:{},
},
},
},
}
msg = ‘‘‘*******请输入地区*******
输入b返回上一层
输入q退出
***********************‘‘‘
user_enter_right = False
while not user_enter_right:
for key in menu:
print(key)
print(msg)
while not user_enter_right:
# 需要定义一个变量接收用户输入
user_enter1 = input("1>>").strip()
# 判断用户输入是否在menu中
if user_enter1 in menu:
# 用户选择后的内容展开需要循环打印
for key1 in menu[user_enter1]:
print(key1)
elif user_enter1.lower() == ‘b‘:
break
elif user_enter1.lower() == ‘q‘:
user_enter_right = True
else:
print(‘非法输入,请重新输入‘)
while not user_enter_right:
user_enter2 = input("2>>").strip()
if user_enter2 in menu[user_enter1]:
for key2 in menu[user_enter1][user_enter2]:
print(key2)
elif user_enter2.lower() == ‘b‘:
break
elif user_enter2.lower() == ‘q‘:
user_enter_right = True
else:
print(‘非法输入,请重新输入‘)
while not user_enter_right:
user_enter3 = input("3>>").strip()
if user_enter3 in menu[user_enter1][user_enter2]:
for key3 in menu[user_enter1][user_enter2][user_enter3]:
print(key3)
elif user_enter3.lower() == ‘b‘:
break
elif user_enter3.lower() == ‘q‘:
user_enter_right = True
else:
print(‘非法输入,请重新输入‘)
# break
# break
# break
# break
原文:https://www.cnblogs.com/python-beginner/p/12037754.html