python菜单

1.基本概述

三级菜单程序是由两个文件组成,由主程序和数据存储文件组成,都是基于python语言写的。

2.技巧运用

其中运用了字典、元组的读取与格式转换,for循环,if循环还有while循环,其中有利用continue跳出循环的小技巧制作了返回功能,还有自定义模块的导入与导出功能。

3.程序运行概述

当用户运行主程序文件时,主程序文件会读取zone.py模块,然后主程序进行格式转换打印出一级菜单,然后用户输入选项,然后主程序进行配对,如果输入正确则进行二级菜单操作, 此时二级菜单会拉取一级菜单的数据进行格式转换并打印二级菜单,然后提示用户输入选项,如果输入正确则进入三级菜单操作,此时三级菜单会拉取二级菜单数据并格式转换并打印三级菜单,然后提示用户输入选项, 如果输入正确则进入三级菜单内容操作,输入正确打印菜单内容,并提示用户是否选择返回上一层或者退出程序。

 

流程图

 

python菜单

 

代码

python代码:
#!/usr/bin/env python
#_*_coding:utf-8_*_
#Version:
#data:
import zone
Menu1=[]
Menu2=[]
Menu3=[]
Return_flage = 0
Exit_flage = False
while Exit_flage is not True:
#无限循环
#第一级菜单
if Return_flage == 0 :
print ("-------------------------------------------------")
print ("+            +")
print ("+            +")
print ("+   欢迎来到大中华地区景点查询系统   +")
print ("+            +")
print ("+            +")
print ("-------------------------------------------------")
Return_flage += 1
Zone1 = zone.Menu
for index,i in enumerate(Zone1):
Menu1.append(str(i))
print(index, i)
#转换成元组并打印索引编号与元组
#第二级菜单
elif Return_flage == 1 :
Option = input("(q=退出,r=返回上一层)省级菜单请输入选择:")
if Option.isdigit() :
Return_flage += 1
Option = int(Option)
if len(Menu1) > Option :
#判断输入数值是否超出选项范围
Input_Option = Menu1[Option]
Zone2 = Zone1.get(Input_Option)
for index,i in enumerate(Zone1.get(Input_Option)):
Menu2.append(str(i))
print(index, i)
else:
print("请输入正确选项!")
Return_flage -= 1
continue
#超出范围的输入则跳出本次循环并再进行一次
elif Option == "quit" or Option == "q" :
Exit_flage = True
elif Option == "Return" or Option == "r":
Return_flage -= 1
continue
#返回功能
else :
print("请输入正确选项!")
continue
# 第三级菜单
elif Return_flage == 2:
Option = input("(q=退出,r=返回上一层)市级菜单请输入选择:")
if Option.isdigit():
Return_flage += 1
Option = int(Option)
if len(Menu2) > Option :
Input_Option = Menu2[Option]
Zone3 = Zone2.get(Input_Option)
for index, i in enumerate(Zone2.get(Input_Option)):
Menu3.append(str(i))
print(index, i)
else:
print("请输入正确选项!")
Return_flage -= 1
continue
elif Option == "quit" or Option == "q":
Exit_flage = True
elif Option == "Return" or Option == "r":
Return_flage -= 1
continue
else:
print("请输入正确选项!")
continue
# 第三级菜单内容
elif Return_flage == 3:
Option = input("(q=退出,r=返回上一层)区级菜单请输入选择 :")
if Option.isdigit():
Return_flage += 1
Option = int(Option)
if len(Menu3) > Option:
Input_Option = Menu3[Option]
Zone4 = Zone3.get(Input_Option)
print(Zone4)
Option = input("(q=退出,r=返回上一层)请输入返回上一层或者退出:")
if Option.isdigit():
print("请输入正确选项!")
continue
elif Option == "quit" or Option == "q":
Exit_flage = True
continue
elif Option == "Return" or Option == "r":
Return_flage -= 1
continue
else:
print("请输入正确选项!")
continue
else:
print("请输入正确选项!")
Return_flage -= 1
continue
elif Option == "quit" or Option == "q":
Exit_flage = True
elif Option == "Return" or Option == "r":
Return_flage -= 1
continue
else:
print("请输入正确选项!")
continue
zone.py文件:
#!/usr/bin/env python
#_*_coding:utf-8_*_
#Version:
#data:
Menu = {
'山东' : {
'青岛' : {
'四方':
['山','河','湖','城'],
'黄岛':
['山','河','湖','城'],
'崂山':
['山','河','湖','城'],
'李沧':
['山','河','湖','城'],
'城阳':
['山','河','湖','城']
},
'济南' : {
'历城':['山','河','湖','城'],
'槐荫':['山','河','湖','城'],
'高新':['山','河','湖','城'],
'长青':['山','河','湖','城'],
'章丘':['山','河','湖','城']
},
'烟台' : {
'龙口':['山','河','湖','城'],
'莱山':['山','河','湖','城'],
'牟平':['山','河','湖','城'],
'蓬莱':['山','河','湖','城'],
'招远':['山','河','湖','城']
}
},
'江苏' : {
'苏州' : {
'沧浪':['山','河','湖','城'],
'相城':['山','河','湖','城'],
'平江':['山','河','湖','城'],
'吴中':['山','河','湖','城'],
'昆山':['山','河','湖','城']
},
'南京' : {
'白下':['山','河','湖','城'],
'秦淮':['山','河','湖','城'],
'浦口':['山','河','湖','城'],
'栖霞':['山','河','湖','城'],
'江宁':['山','河','湖','城'],
},
'无锡' : {
'崇安':['山','河','湖','城'],
'南长':['山','河','湖','城'],
'北塘':['山','河','湖','城'],
'锡山':['山','河','湖','城'],
'江阴':['山','河','湖','城']
}
},
'浙江' : {
'杭州' : {
'西湖':['山','河','湖','城'],
'江干':['山','河','湖','城'],
'下城':['山','河','湖','城'],
'上城':['山','河','湖','城'],
'滨江':['山','河','湖','城']
},
'宁波' : {
'海曙':['山','河','湖','城'],
'江东':['山','河','湖','城'],
'江北':['山','河','湖','城'],
'镇海':['山','河','湖','城'],
'余姚':['山','河','湖','城']
},
'温州' : {
'鹿城':['山','河','湖','城'],
'龙湾':['山','河','湖','城'],
'乐清':['山','河','湖','城'],
'瑞安':['山','河','湖','城'],
'永嘉':['山','河','湖','城']
}
},
'安徽' : {
'合肥' : {
'蜀山':['山','河','湖','城'],
'庐阳':['山','河','湖','城'],
'包河':['山','河','湖','城'],
'经开':['山','河','湖','城'],
'新站':['山','河','湖','城']
},
'芜湖' : {
'镜湖':['山','河','湖','城'],
'鸠江':['山','河','湖','城'],
'无为':['山','河','湖','城'],
'三山':['山','河','湖','城'],
'南陵':['山','河','湖','城']
},
'蚌埠' : {
'蚌山':['山','河','湖','城'],
'龙子湖':['山','河','湖','城'],
'淮上':['山','河','湖','城'],
'怀远':['山','河','湖','城'],
'固镇':['山','河','湖','城']
}
},
'广东' : {
'深圳' : {
'罗湖':['山','河','湖','城'],
'福田':['山','河','湖','城'],
'南山':['山','河','湖','城'],
'宝安':['山','河','湖','城'],
'布吉':['山','河','湖','城']
},
'广州' : {
'天河':['山','河','湖','城'],
'珠海':['山','河','湖','城'],
'越秀':['山','河','湖','城'],
'白云':['山','河','湖','城'],
'黄埔':['山','河','湖','城']
},
'东莞' : {
'莞城':['山','河','湖','城'],
'长安':['山','河','湖','城'],
'虎门':['山','河','湖','城'],
'万江':['山','河','湖','城'],
'大朗':['山','河','湖','城']
}
}
}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/55313.html

(0)
上一篇 2021年8月7日
下一篇 2021年8月7日

相关推荐

发表回复

登录后才能评论