根据需求,写出模拟三级菜单;初学这里膜拜各路大神
1,可依次选择进入各子菜单
2,可从任意一层往回退到上一层
3,可从任意一层退出程序
#!/bin/env python3
#-*- coding:utf-8 -*-
#author:jinchuang
#满足三级菜单-基本的需求逻辑
INFO = {
'北京':{
'天安门':{
"长安街":["那个人多啊","早晨看升旗"]
},
'长城':{
"旅游":["一条龙","人山人海"]
},
'天空':{
"颜色":["灰色","蓝色"]
},
},
'上海':{
'闵行':{
"人民广场":['炸鸡店','蜡像馆']
},
'闸北':{
'火车战':['火车票','幼儿园']
},
'浦东':{
'金桥':['吃喝玩乐','看电影']
},
}
}
def pm():
print("\033[31m请输入正确的!\033[0m")
while True:
for i in INFO:
print(i)
one = input("请选择内容[按q:exit]:")
if one in INFO:
while True:
for io in INFO[one]:
print(io)
one2 = input("请选择内容[按b:Return 按q:exit]:")
if one2 in INFO[one]:
while True:
for oi in INFO[one][one2]:
print(oi)
one3 = input("请选择内容[按b:Return 按q:exit]:")
if one3 in INFO[one][one2]:
while True:
for iu in INFO[one][one2][one3]:
print(iu)
one4 = input("这是最后了[按b:Return 按q:exit]:")
if one4 == 'b':
break
elif one4 == 'q':
exit()
else:
print("\033[31m已经是最后了!\033[0m")
elif one3 == 'b':
break
elif one3 == 'q':
exit()
else:
pm()
elif one2 == 'b':
break
elif one2 == 'q':
exit()
else:
pm()
elif one == 'q':
exit()
else:
pm()
使用函数递归优化版,简直了就是一个天一个地的代码,还是得多学点才能写出来
#!/bin/env python3
#-*- conding:utf-8 -*-
#author:jinchuang
#满足三级菜单-高级需求
INFO = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'老男孩':{},
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{"测试"},
'东城':{"测试"},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车战':{
'携程':{}
}
},
'浦东':{'金桥'},
},
'山东':{"大枣"},
}
def Meun(x):
while True:
for i in x:
print(i)
INP = input("请选择[b:return q:exit]")
if INP in x:
INP2 = x[INP]
menu(INP2)
elif INP == 'b':
return
elif INP == 'q':
exit()
else:
continue
Meun(INFO)
本文最后记录时间 2024-05-27
文章链接地址:https://wojc.cn/archives/224.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处
文章链接地址:https://wojc.cn/archives/224.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处