python学习基础篇--编写三级菜单

#!/usr/bin/env python
#-*- coding:utf-8 -*-
#------------------------------------------------------
#制作一个三级菜单,要求:
#可以依次选择,进入到相应的菜单
#可以在任意层执行返回上一次或者退出
#-------------------------------------------------------
print("省市区县三级菜单展示")
dic= {
    ‘陕西省‘:{
        ‘西安市‘:[‘莲湖区‘,‘长安区‘,‘浐灞区‘,‘碑林区‘],
        ‘渭南市‘:[‘临渭区‘,‘华州区‘,‘大荔县‘,‘蒲城县‘],
        ‘汉中市‘:[‘汉台区‘,‘南郑区‘,‘城固县‘,‘西乡县‘],
    },
    ‘浙江省‘:{
        ‘杭州市‘:[‘西湖区‘,‘江干区‘,‘上城区‘,‘下城区‘],
        ‘温州市‘:[‘鹿城区‘,‘龙湾区‘,‘瓯海区‘,‘洞头区‘],
        ‘台州市‘:[‘椒江区‘,‘黄岩区‘,‘黄岩区‘,‘临海市‘],
    },
    ‘河南省‘:{
        ‘郑州市‘:[‘中原区‘,‘二七区‘,‘管城区‘,‘金水区‘],
        ‘开封市‘:[‘鼓楼区‘,‘龙亭区‘,‘顺河区‘,‘祥符区‘],
        ‘洛阳市‘:[‘涧西区‘,‘西工区‘,‘老城区‘,‘洛龙区‘],
    },
}
sheng_list=list(dic.keys()) #获取省列表
while True:
    print("省".center(50,‘*‘))           #打印省标题栏,长度50,字符居中
    for i in sheng_list:
        print(sheng_list.index(i)+1,i)      #for循环读取省列表,并对读取的列表编号
    sheng_id=input("请输入省的编号,退出请输入q:")
    if sheng_id.isdigit():                  #判断输入的编号是否为数字
        sheng_id=int(sheng_id)              #对输入的编号取整
        if sheng_id >0 and sheng_id <=len(sheng_list):  #判断输入的编号是否大于零且小于等于省列表的长度
            sheng_name=sheng_list[sheng_id-1]             #获取省列表中的名字,列表中默认是从0开始,所以需要减1
            shi_list=list(dic[sheng_name].keys())          #获取市列表
            while True:
                print("市".center(50,"*"))               #打印市标题栏,长度50,字符居中
                for i in shi_list:
                    print(shi_list.index(i)+1,i)            #for循环读取市列表,并对读取的列表编号
                shi_id=input("请输入市的编号,返回请输入b,退出请输入q:")
                if shi_id.isdigit():                         #判断输入的编号是否为数字
                    shi_id=int(shi_id)                           #对输入的编号取整
                    if shi_id >0 and shi_id<=len(shi_list):     #判断输入的编号是否大于零且小于等于省列表的长度
                        shi_name=shi_list[shi_id-1]              #获取市列表中的名字,列表中默认是从0开始,所以需要减1
                        xian_list=dic[sheng_name][shi_name]        #获取区县列表
                        while True:
                            print("区县".center(50,"*"))                #打印区县标题栏,长度50,字符居中
                            for i in xian_list:
                                print(xian_list.index(i)+1,i)             #for循环读取区县列表,并对读取的列表编号
                            back_or_quit=input("返回上一层请输入b,退出请输入q:")
                            if back_or_quit==‘b‘:                      #判断输入的字符是否等于字符b
                                break                                  #如果是,则结束本次循环,返回到上一个循环
                            elif back_or_quit==‘q‘:                    #判断输入的字符是否等于字符q
                                exit()                                  #如果是,则退出整个程序
                            else:
                                print("\033[31;1m非法输入!\033[0m")     #在县级目录输入非数字内容,则提示输入非法内容
                    else:
                        print("\033[31;1m编号%s不存在!\033[0m" %(shi_id))  #否则以红色字体醒目提示用户编号不存在
                elif shi_id==‘b‘:       #在市级目录输入b则返回到省级目录
                    break
                elif shi_id==‘q‘:
                    exit()               #在市级目录输入则q则退出程序
                else:
                    print("\033[31;1m非法输入!\033[0m")     #在市级目录输入非数字内容,则提示输入非法内容
        else:
            print("\033[31;1m编号%s不存在!\033[0m" %(sheng_id))  #在省级目录输入>0,<=3之外的数据,则提示输入不存在
    elif sheng_id==‘q‘:                  #在省级目录输入则q则退出程序,因为省级是第一个循环,所以break结束该循环就等同于退出程序
        break
    else:
        print("\033[31;1m非法输入!\033[0m")
时间: 2024-10-28 22:46:48

python学习基础篇--编写三级菜单的相关文章

python学习基础篇--编写登陆接口

#!/usr/bin/env python#_*_conding:utf-8_*_#-----------------------------------------------------#编写登陆接口,要求:#输入用户名密码#认证成功后显示欢迎信息#密码输错三次后锁定帐户#----------------------------------------------------- user='admin' # 定义登录帐号密码passwd='123' # 定义登录帐号密码count=0 #定义

Python学习基础篇第一篇——快速入门(适合初学者)

一.Python学习基础篇第一篇--(快速入门) 建议从Python2.7开始学习,Python2.7可以支持扩展大量的第三方类库,是目前比较成熟的版本 编写代码的软件推荐将python自带的IDLE和PyCharm集成IDE结合起来使用 1.1 Python命令行 Python命令行将以 >>> 开始,比如 >>>print 'Hello World!' 对于验证简单的命令可以在python自带的IDLE中完成  1.2 在Python自带的IDLE写一段小程序 在所

Python学习-基础篇11 前端知识之HTML内容

HTML介绍 Web服务本质 import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen(5) while True: conn, addr = sk.accept() data = conn.recv(8096) conn.send(b"HTTP/1.1 200 OK\r\n\r\n") conn.secd(b"<h1>Hello world!</h

Python学习-基础篇1

一.变量: 1)变量定义规范: #1. 变量名只能是 字母.数字或下划线的任意组合#2. 变量名的第一个字符不能是数字#3. 关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda',

Python学习基础篇—文件操作和集合

这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 我们笑着 我们抬头望天空 星星还亮着几颗 我们唱着 时间的歌 才懂得相互拥抱 到底是为了什么 因为我刚好遇见你 留下足迹才美丽 风吹花落泪如雨 因为不想分离 因为刚好遇见你 留下十年的期许 如果再相遇 我想我会记得你 我们哭了 我们笑着 我们抬头望天空 星星还亮着几颗 我们唱着 时间的歌 才懂得相互

python学习基础篇(一)

一:机器码和字节码 机器码计算机能够直接识别,字节码计算机不能直接识别. 高级语言:例如Python java c# php c++(字节码) 低级语言:c,汇编(机器语言) 二:语言之间的对比 java的执行效率比Python的执行效率高,但比Python的开发效率低. PHP类:适合于写网页 Python,java:可以写网页,也可以写后台 三:Python基础 python种类:jpython javascriptpython  pypy(cpython开发的Python) python的

[Python]学习基础篇:函数

函数 函数是一段特定功能的,被封装的,可重用的程序代码段.给这段程序一个名称,然后就可以在其他程序的任何地方通过这个名称任意地运行这个断码块. 函数的定义及调用 对于Python函数的定义,不同于大家熟知的c,java等编程语言的定义,以java为例,在定义函数时,要指明函数的返回值类型,要么为void,要么为替他数据类型,同时定义函数时也可以指明函数为私有,共有,静态等,而Python函数的定义非常简单,如下: 格式:def function_name([参数]): 对于函数的调用直接在主函数

Python学习-基础篇4 模块与包与常用模块

一 模块介绍 1.什么是模块?#常见的场景:一个模块就是一个包含了一组功能的python文件,比如spam.py,模块名为spam,可以通过import spam使用. #在python中,模块的使用方式都是一样的,但其实细说的话,模块可以分为四个通用类别: 1 使用python编写的.py文件 2 已被编译为共享库或DLL的C或C++扩展 3 把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包) 4 使用C编写并链接到python解释器的内置模块2.

Python学习—基础篇之文件操作

文件操作 文件操作也是编程中需要熟练掌握的技能,尤其是在后台接口编写和数据分析过程中,对各种类型的文件进行操作,获取文件信息或者对信息进行存储是十分重要的.本篇博客中将主要对常见的文本格式文件和Excel文件的相关操作进行介绍. 一.文本文件 1.1 文件操作流程 1.打开文件,获得文件句柄,并赋值给一个变量 : 2.通过句柄对文件进行相关操作: 3.关闭文件 示例: 1 # -*- coding:utf-8 -*- 2 # author: cdc 3 # date: 2018/8/23 4 5