第一章练习题三级菜单

需求:
可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序
所需新知识点:列表、字典
menu = {
    ‘北京‘: {
        ‘海淀‘: {
            ‘五道口‘: {
                ‘soho‘: {},
                ‘网易‘: {},
                ‘google‘: {}
            },
            ‘中关村‘: {
                ‘爱奇艺‘: {},
                ‘汽车之家‘: {},
                ‘youku‘: {},
            },
            ‘上地‘: {
                ‘百度‘: {},
            },
        },
        ‘昌平‘: {
            ‘沙河‘: {
                ‘老男孩‘: {},
                ‘北航‘: {},
            },
            ‘天通苑‘: {},
            ‘回龙观‘: {},
        },
        ‘朝阳‘: {},
        ‘东城‘: {},
    },
    ‘上海‘: {
        ‘闵行‘: {
            "人民广场": {
                ‘炸鸡店‘: {}
            }
        },
        ‘闸北‘: {
            ‘火车站‘: {
                ‘携程‘: {}
            }
        },
        ‘浦东‘: {},
    },
    ‘山东‘: {},
}
current_menu = menu
previous_menu = []
while True:
    for m in current_menu:
        print(m)
    choice = input("请输入你想查询的城市,返回上级请输1,退出请输q")
    if choice in current_menu:
        previous_menu.append(current_menu)
        current_menu = current_menu[choice]
    elif choice == "1":
        if len(previous_menu) != 0:
            current_menu = previous_menu.pop()
        else:
            print("已是最顶层,无法再返回,请输入您要查询的城市,退出请输q")
    elif choice == "q":
        print("您已退出,谢谢使用!")
        break
    else:
        print("您输入的城市不正确,请重新输入,返回上级请输1,退出请输q")

#  思路:后期要常用两个变量:当前层菜单和上级菜单,所以给这两个变量做个定义,以便后面调用。
#  1、打印顶级菜单,提示用户输入   2、用户输入后进行判断:
# (1)用户输入名字在当前菜单里,则进入下一级
# (2)用户输入名字为1且上级菜单不为空时,返回上一级菜单
# (3)用户输入名字为q,退出程序

原文地址:https://www.cnblogs.com/51zf/p/9185233.html

时间: 2024-10-10 04:55:13

第一章练习题三级菜单的相关文章

第一周作业-三级菜单

1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功能 1 #coding:utf-8 2 #Author:Mr Zhi 3 file_o = open("menu",'r',encoding="utf-8") #打开三级菜单文件 4 menu= eval(file_o.read()) #把打开后的文件内容转换成字典(文件内容原本是字典) 5 def

Python自动化开发学习的第一周作业---三级菜单

作业需求: (1)运行程序输出第一级菜单(2)选择一级菜单某项,输出二级菜单,同理输出三级菜单(3)让用户选择是否要退出(4)有返回上一级菜单的功能 1 data = { 2 "天津":{ 3 "南开区":{ 4 "南开大学":{ 5 "历史系":{}, 6 "文学系":{}, 7 "英语系":{}, 8 }, 9 "科技大学":{ 10 "计算机系&quo

python第一章练习题

本章总节 练习题 1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释 编译型:把源代码编译成机器语言的可执行文件,程序执行的时候执行可执行文件即可. 优点:程序执行不需要源代码,不依赖语言环境,执行速度快,因为执行的是机器码文件,计算机可以直接读懂 缺点:每次修改源代码都需要重新编译.跨平台性不好,不同的操作系统,调用底层的机器指令不同,需为不同平台生产不同的机器码文件 编译型语言:如C.C++,Delphi 解释型: 用户调用解释器,执行源代码文件,解释器把源

第一章练习题作业

练习题: 编译型语言:指程序在从源码到运行前必须由编译器编译链接生成成二进制文件才能运行,每次对程序源码的改动都必须重新编译才能生效,由于是直接编译为二进制机器语言文件,所以执行速度很快,运行不依赖编译器,举例:C/C++,delphi解释型语言:程序在源码到运行前无需编译,对代码修改可以立即生效,由语言对应的解释器对源码实时解释运行,执行速度稍慢,运行依赖与相应的解释器,举例:Python,java,JS,php 执行Python脚本两种方式:1.直接在终端执行Python 手动输入代码输入一

老男孩python_12期_第一天_homework_三级菜单

city_map = { "湖北":{"武汉":["武昌","汉阳","汉口"], "黄冈":["黄州","红安","麻城"]}, "吉林":{"长春":["高新区","南关区"], "四平":["东区",&q

第一章练习题

1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型? 编译型:在执行应用程序前,先将程序代码翻译成目标程序(机器语言).编译后生成独立的可执行文件,不依赖语言环境运行,编译型语言执行效率高,速度快,跨平台性差. 解释型:依赖解释器,不能生成单独的执行文件,程序代码本身就可以执行,但依赖解释器.跨平台性好,一份代码到处使用,缺点是执行效率低. 解释型语言:java, python ,go 2.执行 Python 脚本的两种方式是什么 cmd命令行执行和交互器 .

第一章练习题登陆认证程序

基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) info = [["name1", "111"], ["name2", "222"], ["name3", "333"], ["name4", "444"]] count = 2 while count

Python全栈课程-第一章练习题-多用户登录(list和file的使用)

基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里) lock_file = open("lock.txt", "r", encoding="utf-8")if lock_file.read() == "locked": print

Python学习_第一阶段__三级菜单

menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, 'youku':{}, }, '上地':{ '百度':{}, }, }, '昌平':{ '沙河':{ '老男孩':{}, '北航':{}, }, '天通苑':{}, '回龙观':{}, }, '朝阳':{}, '东城':{}, }, '上海':{ '闵行':{ "人民广场":{ '炸鸡店':{} }