三级菜单实现的基本原理就是在字典中vaules也可以是字典,所以可以层层嵌套形成多级的格局

我们可以来看一下代码:

# 一级菜单

def menu1():

print('一级菜单'.center(40,'-'))

for index1,key1 in enumerate(dic.keys(),1): # 遍历一级菜单

print(index1,key1)

dic_key[str(index1)] = key1

# print(dic_key)

choose = input("请选择1级菜单,输入B返回上一级菜单,输入Q退出菜单:")

if choose == 'q':quit()

elif choose == 'b':

print("此处为一级菜单,不能返回")

elif dic_key.get(choose):

menu2(dic_key[choose]) # 将二级菜单的key传给函数menu2

else:

print("输入有误,请重新输入")

def menu2(choose1):

print('二级菜单'.center(40, '-'))

for index2,key2 in enumerate(dic[choose1].keys(),1): # 遍历二级菜单

print(index2,key2)

dic_key[str(index2)] = key2

choose2 = input("请选择2级菜单,输入B返回上一级菜单,输入Q退出菜单")

if choose2 == 'q':quit()

elif choose2 == 'b':

menu1()

elif dic_key.get(choose2):

menu3(choose1,dic_key[choose2])

else:

print("输入有误,请重新输入")

def menu3(choose1,choose2):

print('三级菜单'.center(40, '-'))

for index3, key3 in enumerate(dic[choose1][choose2].keys(), 1):

print(index3, key3)

dic_key[str(index3)] = key3

choose3 = input("请选择3级菜单,输入B返回上一级菜单,输入Q退出菜单")

if choose3 == 'q':

quit()

elif choose3 == 'b':

menu2(choose1)

elif dic_key.get(choose3):

menu4(choose1,choose2,dic_key[choose3])

else:

print("输入有误,请重新输入")

def menu4(choose1,choose2,choose3):

for index4, vaule in enumerate(dic[choose1][choose2][choose3],1):

print(index4, vaule)

if __name__ == '__main__':

dic = \

{

'北京': {

'东城':

{

'沙河': ['老男孩', '恋家'],

'天通苑': ['手机卖场', '屌丝吧']

},

'朝阳':

{

'花家地': ['朝阳公园', '望京soho'],

'北小河': ['北小河公园', '北京中学']

}

},

'上海': {

'虹桥':

{

'虹桥机场': ['超市', '特产店', '水吧'],

'东方明珠': ['电影院', '游泳馆', '餐馆']

},

'浦东':

{

'景秀路': ['世纪公园', '立交桥'],

'中环路': ['鲁迅公园', '同济大学']

}

}

}

dic_key = {}

while True:

menu1()

python三级菜单_Python 三级菜单相关推荐

  1. python三级菜单_python三级菜单

    需求:编写三级菜单 1.菜单需求: 一级菜单:            北京                                  山西 二级菜单:    朝阳                ...

  2. python菜单栏添加子菜单_python添加菜单图文讲解

    分享一个基于tkinter的菜单程序添加操作,希望对需要的朋友有帮助. 打开python集成开发环境,使用 from tkinter import Tk from tkinter import Men ...

  3. python做菜单_python添加菜单图文讲解

    python添加菜单图文讲解 分享一个基于tkinter的菜单程序添加操作,希望对需要的朋友有帮助. 打开python集成开发环境,使用 from tkinter import Tk from tki ...

  4. python 多级菜单_python多级菜单

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 代码: 代码: dic_china = { "直辖市":{ "北京市":["东城区",&quo ...

  5. python普通菜单_python多级菜单

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 代码: 代码: dic_china = { "直辖市":{ "北京市":["东城区",&quo ...

  6. python选项菜单_Python TKinter菜单和选项

    @曼尼102030 我有这个密码.基本上,我想要的是在树中插入一个节点,其中包含用户在Tkinter中输入的值.我不知道用户输入的值是否真的被插入了,因为我不知道如何调用我创建的函数来打印树(该函数也 ...

  7. python三级菜单设计题目_Python三级菜单

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 三级菜单:打印省.市.县三级菜单. 可返回上一级,可随时退出程序首先准备基础数据 ...

  8. python三级联动菜单_Excel–这才是三级联动下拉菜单的正确做法

    Excel–这才是三级联动下拉菜单的正确做法,跟二级联动菜单完全不同! 文章来源:企鹅号 - Excel学习世界 今天教大家制作三级联动下拉菜单. 很多同学以为三级联动下拉做法跟二级联动下拉菜单是一样 ...

  9. python制作二级菜单_python之tkinter使用-二级菜单

    # 菜单功能说明:二级菜单 import tkinter as tk from tkinter import messagebox root = tk.Tk() root.title('菜单选择') ...

最新文章

  1. Imagination 的神经网络加速器和 Visidon 的去噪算法被证明是完美的搭档
  2. 怎么用class引入svg_【蓝湖指北】走向设计巅峰,从蓝湖 Sketch 插件开始,用它!...
  3. 如何查看windows版本号?
  4. Coursera吴恩达《卷积神经网络》课程笔记(4)-- 人脸识别与神经风格迁移
  5. android studio logcat 无筛选 显示全部日志 无应用包名区分
  6. 命令点亮硬盘灯_macOS下移动硬盘无法挂载且硬盘灯一直闪烁的解决方法
  7. 内存结构 堆 栈 全局区 常量区 代码区
  8. Win7_刻录DVD
  9. iOS ReactiveCocoa 最全常用API整理(可做为手册查询)
  10. Mac OS X 下文件名乱码出现的原因和解决方法
  11. WordPress 主题教程 #4b:Header 模板 2
  12. 为什么有人执着于只买黑色的手机?
  13. TFS2010物理迁移workspace恢复
  14. 大华监控相机RTSP视频流
  15. 中国象棋软件制作感想
  16. 浅谈 MySQL 写数据一致性保障机制
  17. 关于微信小程序授权登陆之后需要在个人信息页展示信息,如微信头像,昵称这件事
  18. 轻风送暖写诗意,梅雨传情送祝福
  19. 中文关键词提取tfidf算法改进bsaeline
  20. RationalDMIS 7.1 建立坐标系(3-2-1法)

热门文章

  1. 铁路cj继电器,一种铁路继电器底座锁住方法专利_专利申请于undefined_专利查询 - 天眼查...
  2. python入门之字符串索引,切片
  3. 仓库管理怎么做?这5大仓库管理软件能帮到你
  4. Duck Typing (鸭子类型)详解
  5. 闭关修炼(十二) NIO
  6. GP232RL与FT232RL操作区别
  7. 基于ssm技术的校自助阅览室的设计与实现 毕业设计-附源码242326
  8. Bayesian Convolution Neural Networks with Bernoulli Approximate Variational Inference
  9. 快乐二级域名分发程序-美化版源码
  10. 优麒麟linux共享文件夹,循序而渐进,熟读而精思——优麒麟文件管理器篇