美文网首页
三级菜单

三级菜单

作者: 可爱叽叽 | 来源:发表于2019-02-25 15:12 被阅读0次

——三级菜单——

我们想实现如上图所示这样的三级菜单,输入第一层的某个省份,可以显示下一层的三个市,然后输入某个市之后,可以再次显示下属区(县)。并且,在任一级输入“B”都能返回上一级,且在任何一级输入“Q”,都能退出。 

我们来一步步实现它:

首先,第一层要能打印出“山东”、“江苏”、“河南”这三个省份。即打印这个字典的key。

接下来要求用户输入所选择的省份。

用户输入了省份之后,首先要判断一下这个省份是否在这三个省份之内。若是在的话,要能打印出该省份下的三个市。若是不在,可以打印“请用户重新输入>>>”。

接下来详细再说省在范围内的情况:打印输出三个市之后,要求用户输入所选的市。

如果输入了市之后,同样的判断一下这个市是不是在所属范围内,在的话,打印输出下属的区县,不在的话,请用户重新输入。

这样三级菜单的显示基本已经完成了,在打印输出到区县级别之后,我们提示用户,“已经是最后一层了,按B返回”。

pass的意思就是什么也不做,当输入为“B”时,什么也不做,接下来就返回返回whileTrue的死循环,接着输出打印三个市。

这样我们就能实现,在第三层时输入“B”返回到第二层,接下来再优化一下,实现在第二层若输入“B”,可以返回到第一层:

说明一下这个结构:

首先打印出三个省份,然后用户进行选择输入,在范围内就打印输出三个市,不在就请用户重新输入。

在三个市范围的情况下,请用户选择输入某一个市,这个市在范围内就打印输出下属的区县,不在就请用户重新输入,若是输入"B"则返回至上一级的菜单(省份的菜单)。

若是某个市在范围内的情况下,打印输出所有的下属区县,并且提示用户已到最后一层,若输入"B",则返回至上一级的菜单(市的菜单)。

接下来接续进行优化,我们想要实现在任何一层按"Q"都能退出程序的功能。我们采用的方法是,设置一个退出标志,这个退出标志设置为exit_flag=False,因为我们本来的循环写的都是while True,这时候就修改为 while not exit_flag,在判断里当用户输入的是"Q"时,我们就更改exit_flag = True,这样的话,所有的while循环都不会满足条件,即都不执行,所以就相当于结束了整个程序。

以上就是完整的三级菜单的程序。

我们来检验一下结果:

完整的三级菜单:

从第三次返回至第二层:

从第二层返回至第一层:

在第一层退出:

在第二层退出:

在第三层退出:

相关文章

  • 6.1、三级菜单

    三级菜单 打印省、市、县三级菜单 可返回上一级 可随时退出程序

  • 我的简书 二级菜单 三级菜单 四级菜单 五级菜单 六级菜单

  • Vue数据变动侦听不到的问题

    有这样一个需求,左侧菜单点击展开右侧菜单,右侧菜单点击又可以垂直展开第三级菜单,为了展开第三级,第二级的菜单中设计...

  • Python三级菜单简单版

    三级菜单互补注释

  • 11-python字典使用和三级菜单

    字典 三级菜单程序:

  • 纯css实现的三级水平导航菜单

    纯css实现的三级水平导航菜单 vscode练习使用开发纯css的三级水平导航菜单。先上图: 1、html5布局 ...

  • 三级联动效果-Axure

    一起来探讨下三级联动的效果吧! 今天要做的效果是:选择一级菜单,二级菜单联动;选择二级菜单或二级菜单选项改变,三级...

  • jQuery实现三级菜单的代码

    代码来自:jQuery实现三级菜单的代码

  • Markdown

    #一级菜单 ##二级菜单 ###三级菜单 ####四级菜单 **无序排序** - 这里是第一 - 这里是第二 - ...

  • 三级菜单

    ——三级菜单—— 我们想实现如上图所示这样的三级菜单,输入第一层的某个省份,可以显示下一层的三个市,然后输入某个市...

网友评论

      本文标题:三级菜单

      本文链接:https://www.haomeiwen.com/subject/talwyqtx.html