前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python字典之模拟三级菜单的程序

python字典之模拟三级菜单的程序

作者头像
jiankang666
发布2022-06-22 09:42:59
7140
发布2022-06-22 09:42:59
举报
文章被收录于专栏:java基础笔记

博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。


一、背景

  在实际开发过程中,我们会遇到需要将相关数据关联起来的情况,例如,处理学生的学号、姓名、年龄、成绩等信息。另外,还会遇到需要将一些能够确定的不同对象看成一个整体的情况。Python提供了字典和集合这两种数据结构来解决上述问题。下面介绍一下模拟三级菜单的程序的相关逻辑。


二、菜单程序

例:编写一个模拟三级菜单的程序,要求: (1)打印省、市、县三级菜单; (2)可返回上一级; (3)可随时退出程序。

1、测试数据
代码语言:javascript
复制
data = {
    '北京': {
        '昌平':
            {
                '沙河': ['沙河机场', '链家'],
                '天通苑': ['北方明珠', '天通尾货']
            },
        '朝阳':
            {
                '花家地': ['朝阳公园', '望京soho'],
                '北小河': ['北小河公园', '北京中学']
            }
    },
    '上海': {
        '虹桥':
            {
                '虹桥机场': ['超市', '特产店', '水吧'],
                '东方明珠': ['电影院', '游泳馆', '餐馆']
            },
        '浦东':
            {
                '景秀路': ['世纪公园', '立交桥'],
                '中环路': ['鲁迅公园', '同济大学']
            }
    },
    '河北': {
        '石家庄':
            {
                '行唐': ['东正', '阳关'],
                '赵县': ['赵州桥', '高村乡']
            },
        '唐山':
            {
                '滦南县': ['司各庄镇', '安各庄镇'],
                '玉田县': ['玉田镇', '亮甲店镇']
            }
    }
}
2、具体代码
代码语言:javascript
复制
while True:
    for i in data:  # 打印第一级列表
        print(i)
    choice = input("请选择省或直辖市(退出请按q):")
    if choice in data:  # 如果在第一级列表里则进入下一级列表
        while True:
            for i2 in data[choice]:  # 打印第二级列表
                print(i2)
            choice2 = input("请选择(退出请按q返回省或直辖市列表请按b):")
            if choice2 in data[choice]:  # 如果在第二级列表里则进入下一级
                while True:
                    for i3 in data[choice][choice2]:  # 打印第三级列表
                        print(i3)
                    choice3 = input("请选择(退出请按q返回上一级列表请按b):")
                    if choice3 in data[choice][choice2]:
                        for i4 in data[choice][choice2][choice3]:
                            print(i4)
                        choice4 = input("已经到达最后一级(退出请按q返回上一级列表请按b):")
                        if choice4 == 'b':
                            continue
                        elif choice4 == 'q':
                            exit()
                    elif choice3 == 'b':  # 从第三级返回第二级
                        break
                    elif choice3 == 'q':
                        exit()
            elif choice2 == 'b':  # 从第二级返回第一级
                break
            elif choice2 == 'q':
                exit()
    elif choice == 'q':
        exit()

结果如下。


三、参考

1、廖雪峰的官网 2、python官网 3、Python编程案例教程


四、总结

  以上就是就是关于Python模拟三级菜单的程序相关逻辑,可以参考一下,后面会不断更新相关知识,大家一起进步。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java基础笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景
  • 二、菜单程序
    • 1、测试数据
      • 2、具体代码
      • 三、参考
      • 四、总结
      相关产品与服务
      云开发 CloudBase
      云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档