作业2:城市三级菜单

三级菜单:

1. 运行程序输出第一级菜单

2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单

3. 菜单数据保存在文件中

4. 让用户选择是否要退出

5. 有返回上一级菜单的功能

flag=True
dict_menu={#定义城市字典名称。
"四川省":{
"成都市":["新都区","成华区","天府新区"],
},
"山东省": {
"青岛市": ["四方区", "市南区", "市北区"],
},
}

while flag:#循环打印城市列表
for i,v in enumerate(dict_menu.keys()):#用enumerate的方法前面加上数字序号
print(i,v)#打印城市
num_1=input('请输入省份菜单号,按q退出:')
if num_1=='q':#判断如果输入q就直接退出
flag=False
break
if num_1.isdigit():#判断是否输入的是数字
num_1=int(num_1)
if num_1<=len(dict_menu):
key_1=list(dict_menu.keys())[num_1]#输入一级菜单。
print(key_1)
while flag:
for i1,v1 in enumerate(dict_menu[key_1]):
print(i1,v1)
num_2=input('请输入省份菜单号,按q退出或按b返回:')
if num_2 == 'q': # 判断如果输入q就直接退出
flag = False
break
if num_2=='b':#判断如果输入b就返回上一级
break
if num_2.isdigit():#判断是否是数字
num_2=int(num_2)
if num_2<=len(dict_menu[key_1]):
key_2=list(dict_menu[key_1].keys())[num_2]
while flag:
for i2,v2 in enumerate(dict_menu[key_1][key_2]):
print(i2,v2)
num_3=input('请输入省市州菜单号,按q退出或按b返回:')
if num_3 == 'q': # 判断如果输入q就直接退出
flag = False
break
if num_3 == 'b':
break
if num_3.isdigit():
num_3=int(num_3)
if num_3<=len(dict_menu[key_1][key_2]):
key_3=list(dict_menu.keys()[key_1][key_2])[key_3]
while flag:
for i3,v3 in enumerate(dict_menu[key_1][key_2][key_3]):
print(i3,v3)
num_4=input('按q退出或按b返回!')
if num_4 == 'q': # 判断如果输入q就直接退出
flag = False
break
if num_4 == 'b':
break




原文地址:https://www.cnblogs.com/zhangzihong/p/6074627.html