热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:新手小白python之路Day1(三级菜单功能实现)

篇首语:本文由编程笔记#小编为大家整理,主要介绍了新手小白python之路Day1(三级菜单功能实现)相关的知识,希望对你有一定的参考价值。直接上需求:

篇首语:本文由编程笔记#小编为大家整理,主要介绍了新手小白 python之路 Day1 (三级菜单功能实现)相关的知识,希望对你有一定的参考价值。


直接上需求:

        实现一个多级菜单

    三级菜单的实现
    可以依次选择进入各个子菜单
    也可以返回上级菜单
    所需知识 列表 字典

需求也比较简单,但实际上做起来还是遇到许多的问题,我这边主要用到的知识点大概就是  字典 等

大致的思路 我是分别写了四个函数

Abnormal() 通过抛出异常来判断输入的编号是否合法

Province() 获取省级菜单

City() 获取市级菜单

Area() 获取区级菜单

来实现整个功能的,话不多说直接上代码了

#!/usr/bin/env python
#
-*- coding:utf-8 -*-
#
Author: linghanchujian
"""
多级菜单
三级菜单的实现
可以依次选择进入各个子菜单
也可以返回上级菜单
所需知识 列表 字典
"""
"""
三级菜单字典
"""
DictionaryMenu
= {
山东 : {
青岛 : [四方,黄岛,崂山,李沧,城阳],
济南 : [历城,槐荫,高新,长青,章丘],
烟台 : [龙口,莱山,牟平,蓬莱,招远]
},
安徽 : {
合肥 : [蜀山,庐阳,包河,经开,新站],
芜湖 : [镜湖,鸠江,无为,三山,南陵],
蚌埠 : [蚌山,龙子湖,淮上,怀远,固镇]
},
广东 : {
深圳 : [罗湖,福田,南山,宝安,布吉],
广州 : [天河,珠海,越秀,白云,黄埔],
东莞 : [莞城,长安,虎门,万江,大朗]
}
}
"""
通过抛出异常来判断输入的编号是否合法
"""
def Abnormal(Num):
try:
int(Num)
return True
except ValueError:
return False
"""
获取省级
"""
def Province():
for i,j in enumerate (DictionaryMenu):
print(str(i+1)+""+j)
LevelOneOptions
= input("请选择上面一级菜单列表的序号(n 退出): ")
if LevelOneOptions== n:
exit()
else:
if Abnormal(LevelOneOptions):
OneOptions
= int(LevelOneOptions)
# print(LevelOneCount+1)
if OneOptions>0 and OneOptions<(i+2):
City(OneOptions
-1)
else:
print("请输入0~~"+str(i+2)+"之间的数")
print("---------------------------------------")
Province()
else:
print("编号不合法!!")
print("---------------------------------------")
Province()
pass
"""
获取市级
"""
def City(Options):
for i,j in enumerate(DictionaryMenu):
if i == Options:
for n,k in enumerate(DictionaryMenu[j]):
print(str(n+1)+""+k)
SecondLevelOptions
= input("请选择上面二级菜单列表的序号(b/n 返回上级/退出): ")
if SecOndLevelOptions== "n":
exit()
elif SecOndLevelOptions== "b":
Province()
return ;
else:
if Abnormal(SecondLevelOptions):
TwoOptions
= int(SecondLevelOptions)
# print(LevelOneCount+1)
if TwoOptions > 0 and TwoOptions <(n + 2):
Area(Options,TwoOptions
- 1)
else:
print("请输入0~~" + str(n + 2) + "之间的数")
print("---------------------------------------")
City(Options)
else:
print("编号不合法!!")
print("---------------------------------------")
City(Options)
pass
"""
获取区级
"""
def Area(Options,TwoOptions):
for i,j in enumerate(DictionaryMenu):
if i == Options:
for n,k in enumerate(DictionaryMenu[j]):
if n == TwoOptions:
for c,v in enumerate(DictionaryMenu[j][k]):
print(str(c+1)+""+v)
ThreeOptions
= input("上面就是三级菜单全部内容(b/n 返回上级/退出): ")
if ThreeOptiOns== "b":
City(Options)
return ;
else:
exit()
pass
print("欢迎来到三级菜单!!")
Province()

 





推荐阅读
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了Python异常的捕获、传递与抛出操作,并提供了相关的操作示例。通过异常的捕获和传递,可以有效处理程序中的错误情况。同时,还介绍了如何主动抛出异常。通过本文的学习,读者可以掌握Python中异常处理的基本方法和技巧。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了多因子选股模型在实际中的构建步骤,包括风险源分析、因子筛选和体系构建,并进行了模拟实证回测。在风险源分析中,从宏观、行业、公司和特殊因素四个角度分析了影响资产价格的因素。具体包括宏观经济运行和宏经济政策对证券市场的影响,以及行业类型、行业生命周期和行业政策对股票价格的影响。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
author-avatar
给力的饼干_235
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有