Day2三级菜单(菜鸟版)
需求:
- 三级菜单
- 可依次选择进入各子菜单
Readme:
1.菜单选择顺序:省份(一级)-->下属市(二级)-->下属县(三级)
2.在各级菜单都可直接退出程序,在市县级可以按b返回一级菜单
3.完全是自己独立完成的,实现方法和网上不一样,感觉自己的方法比较笨
流程图:

代码:
#-*- coding:utf-8 -*-
#Author:Sam
list = {'廣東省':
{'揭陽市':
['揭東縣', '惠來縣'],
'清遠市':
['陽山縣', '連山縣']},
'湖南省':
{'株洲市':
['攸縣', '茶陵縣'],
'長沙市':
['長沙縣', '瀏陽市']}
}
province = [] #省份列表
city = [] #市列表
county = [] #县列表
while True:
for index,i in enumerate(list.keys()):
print(index,i) #将下标和省份一起列出,方便后面用数字选择菜单
province.append(i) #加入省份列表
user_choice_province = input("請選擇省份,按b返回,按q退出>>>:")
if user_choice_province.isdigit(): #判断输入是否为数字
user_choice_province = int(user_choice_province) #将输入转换为整数
if user_choice_province >= 0 and user_choice_province < len(list): #判断选择是否正确
choice_province = province[user_choice_province] #选择的省份生成一个变量
city_list = list.get(choice_province) #利用字典属性获取对应省份下属市,并生成新字典
for index, i in enumerate(city_list): #利用上面的新字典,将下标和下属市列出供选择
print(index, i)
city.append(i) #生成市列表,方便下面操作
user_choice_city = input("請選擇市,按b返回,按q退出>>>>:")
if user_choice_city.isdigit():
user_choice_city = int(user_choice_city)
if user_choice_city >=0 and user_choice_city < len(city):
choice_city = city[user_choice_city]
county_list = city_list.get(choice_city)
for index,i in enumerate(county_list):
print(index,i)
user_choice_county = input("請選擇縣,按b返回,按q退出>>>>:")
if user_choice_county.isdigit():
user_choice_county = int(user_choice_county)
if user_choice_county >=0 and user_choice_county <len(county_list):
print(county_list[user_choice_county])
elif user_choice_county == 'b':
break
elif user_choice_county == 'q':
exit("退出")
else:
print("输入错误")
elif user_choice_city == 'b':
break
elif user_choice_city == 'q':
exit("退出")
else:
print("输入错误")
elif user_choice_province == 'b':
break
elif user_choice_province == 'q':
exit("退出")
else:
print("输入错误")
else:
exit("退出")

浙公网安备 33010602011771号