重新写了一边三级菜单,加了一些自己的理解

menu = {
    ‘北京‘:{
        ‘海淀‘:{
            ‘五道口‘:{
                ‘soho‘:{},
                ‘网易‘:{},
                ‘google‘:{}
            },
            ‘中关村‘:{
                ‘爱奇艺‘:{},
                ‘汽车之家‘:{},
                ‘youku‘:{},
            },
            ‘上地‘:{
                ‘百度‘:{},
            },
        },
        ‘昌平‘:{
            ‘沙河‘:{
                ‘老男孩‘:{},
                ‘北航‘:{},
            },
            ‘天通苑‘:{},
            ‘回龙观‘:{},
        },
        ‘朝阳‘:{
            ‘群众‘:{},
            ‘门径‘:{}
        },
        ‘东城‘:{
            ‘txet‘:{},
            ‘txet2‘:{}
        },
    },
    ‘上海‘:{
        ‘闵行‘:{
            "人民广场":{
                ‘炸鸡店‘:{}
            }
        },
        ‘闸北‘:{
            ‘火车战‘:{
                ‘携程‘:{}
            }
        },
        ‘浦东‘:{
            ‘大桥‘:{},
            ‘小乔‘:{}
        },
    },
    ‘山东‘:{
        ‘青岛‘:{
            ‘市南‘:{},
            ‘市北‘:{},
            ‘胶州‘:{}
        },
        ‘济南‘:{
            ‘背带盒子‘:{},
            ‘趵突泉‘:{},
            ‘十字路口‘:{}
        },
        ‘潍坊‘:{
            ‘风筝‘:{},
            ‘火车站‘:{},
            ‘萝卜‘:{},
            ‘驾照‘:{}
        }
    },
}
‘‘‘
首先打印出来第一层菜单
然后让用户选择菜单
如果选择的选项在里边,就循环打印第二层菜单
然后继续选择,如果选择的在就打印第三层菜单,然后需要打印出提示,最底层,让用户选b,退菜单  #这里的‘让’子其实也是inpu!!!!!!!
然后跟eilf选项,直接q出去

‘‘‘
flag =False
while not flag:
    for i1 in menu:
        print(i1)
    chose1=input(‘请选择》1‘)
    if chose1 in menu:
        while not flag:
            for i2 in menu[chose1]: #有chose1层后,就开始for menu[chose1],同理下边有chose2的时候,for才有menu[chose2]
                print(i2)
            chose2 = input(‘请选择》2‘)
            if chose2 in menu[chose1]:  #men[chose1]其实就是现实“请选择》2”的内容,这里需要理解一下。
                while not flag:
                    for i3 in menu[chose1][chose2]:
                        print(i3)
                    chose3 = input(‘请选择》3‘)
                    if chose3 in menu[chose1][chose2]:
                        for i4 in menu[chose1][chose2][chose3]:
                            print(i4)
                        chose4= input(‘最后一层,按b或者q‘)    #我在这里忘记加chose4了,chose4是最后一层的显示,不能只打印一句话,
                        if chose4 ==‘b‘:
                            pass                #这里要用pass
                        elif chose4 ==‘q‘:
                            flag=True
                    if chose3 == ‘b‘:
                        break                   #这里用break
                    elif chose3 ==‘q‘:
                        flag=True
            if chose2 == ‘b‘:
                break
            elif chose2 ==‘q‘:
                flag=True
    if chose1 ==‘b‘:
        break
    elif chose1 ==‘q‘:
        flag=True

原文地址:https://www.cnblogs.com/PYlog/p/8604373.html

时间: 2024-10-05 04:04:34

重新写了一边三级菜单,加了一些自己的理解的相关文章

自己根据公司需求,写的省市区三级菜单(代码感觉很挫,后续思维提高了再改进吧~~)

代码感觉很挫,后续思维提高了再改进吧~~ 全部的HTML贴在这里: <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"/> <style> ul { margin: 0; padding: 0; } li { list-style: none; } #province, #city, #area { float: lef

三级菜单的实现(python程序)

这是刚开始写程序,三级菜单的程序基本是用字典实现,很low,以后学习了其他更好的东西,我会继续上传,然后争取在我水平高深之后,把这个简单的东西实现的狠高大上. _author_ = "zhanzhengrecheng" data={ "陕西":{ "宝鸡":{"扶风县":["段家镇","城关镇"],}, "渭南":{}, "延安":{}, &quo

Android--简单的三级菜单

  关于这个菜单应该在很多播放器应用里面可以看见,直接先上两张效果图吧,一张是该Demo的效果图,一张是优酷手机客户端的效果图.                                                         DEMO的效果图                                                                   优酷手机客户端界面 因为没有时间去自己制作图标,所以Demo里面采用的就是优酷手机客户端里的图标了. 一.布

android 三级菜单 BaseExpandableListAdapter

在网上搜了很长时间,没有找到合适的Android三级菜单,所以就自己动手写了一个,主要使用了BaseExpandableList来实现,通过三个布局文件来完成对应的菜单项,具体实现请参照下图. 通过上面两图可以看出为三级菜单,每一个菜单对应一个实体类,可以通过json解析数据加载进来,这里就不过多解释了,直接上源码! Activity实现类: package com.zkq.activity; import java.util.ArrayList; import java.util.List;

新手小白 python之路 Day1 (三级菜单功能实现)

直接上需求: 实现一个多级菜单 三级菜单的实现 可以依次选择进入各个子菜单 也可以返回上级菜单 所需知识 列表 字典 需求也比较简单,但实际上做起来还是遇到许多的问题,我这边主要用到的知识点大概就是  字典 等 大致的思路 我是分别写了四个函数 Abnormal() 通过抛出异常来判断输入的编号是否合法 Province() 获取省级菜单 City() 获取市级菜单 Area() 获取区级菜单 来实现整个功能的,话不多说直接上代码了 #!/usr/bin/env python # -*- cod

Python 基础 - Day 1 Assignment - Three tier menu 三级菜单

作业要求 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功能 评分标准: 用多层嵌套while循环的方式完成作业2,85分 只用一层循环完成作业2,100分 SAMPLE 1  data = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'Google': {}, }, '中关村': { '爱奇艺': {}, '汽车之家':

day1作业--三级菜单

作业概述: 写一个三级菜单 实现如下功能: (1)可依次选择进入各子菜单 (2)在每一级按“b”都可以返回上一级,按“q"都可以退出 流程图: readme: 简介: three_menu.py是显示三级菜单的程序主要功能: 显示一级(区域).二级(省).三级菜单(市.区),三级菜单再选泽可以显示市区的人口和面积(为了节省时间,随意指定的),在任意级都可以返回上一级,或者退出 三级菜单和市区的人口和面积用字典表示: China_map={ '华北':{'北京':['东城','西城','朝阳','

Python 三级菜单与优化(一层循环嵌套)

优化的思路是使用单层循环嵌套完成三级菜单,这个优化思路我非常喜欢,我喜欢在编程的时候用最少的东西写出同样的效果,通常这样会绕来绕去,但非常有趣!!! 需求: 1.运行程序输出第一级菜单: 2.选择一级菜单某项,输出二级菜单,同理输出三级菜单: 3.让用户选择是否要退出: 4.有返回上一级菜单的功能: 多层循环嵌套: data = { 'A':{ "Aa":['Aa1','Aa2','Aa3'], "Ab":['Ab1','Ab2','Ab3'], "Ac&

Android自己定义控件:老版优酷的三级菜单(效果图 + Demo)

效果图: 制作思路: 1.先分析这个效果,事实上能够理解为把三级菜单分成level1,level2,level3,level1是始终显示的. 点击level1后,level2会出现:点击level2后,level3会出现:level2,level3出现后,点击level1,level2和level3都会消失. 然后消失和出现我们用到了一个动画效果. 2.动画效果用到的是RotateAnimation.因为我们都是用同一个效果,那么我们仅仅要写一个类,把效果实现了就能够了.要是使用RotateAn