【Python实训】Python实现多级菜单

2023-11-13

请添加图片描述

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


def show(data):
    for i, d in enumerate(data):
        print("{}. {}".format(i + 1, d))
    print('输入back/回车 返回上级菜单')


# show(list(menu.keys()))

data = [menu]

while True:
    show(list(data[-1]))
    s = input("请输入要进入的菜单,按q退出系统:").strip().lower()
    print()
    print()
    if s == 'q':
        break
    if s == 'back' or s == '':
        if len(data) > 1:
            data.pop()
            menu = data[-1]
        continue

    else:
        if menu.get(s, False):
            data.append(menu[s])
            menu = menu[s]
        else:
            print('空菜单')
            print('输入back/回车 返回上级菜单')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Python实训】Python实现多级菜单 的相关文章

  • 函数名称未定义

    我有一段代码 看起来像这样 if name main main def main print hello 但是 当我尝试运行此代码时 出现错误 NameError 名称 main 未定义 我是否没有在函数 def main 的第一行定义名称
  • 学习Python中的解析器

    我记得我读过有关解析器的内容 您只需提供一些示例行 它就知道如何解析某些文本 它只是确定两条线之间的差异 以了解可变部分是什么 我以为它是用 python 写的 但我不确定 有谁知道那是什么图书馆吗 可能你的意思是模板制作器 http co
  • 如何在plotly(python)中的刻度标签和图形之间添加空格?

    如果我使用绘图创建水平条形图 则每个条形的标签都与图表相对应 我想在标签和图表之间添加一些空间 填充 边距 我怎样才能做到这一点 Example import plotly offline as py import plotly graph
  • NumPy 数组与 SQLite

    我在 Python 中见过的最常见的 SQLite 接口是sqlite3 但是有什么东西可以很好地与 NumPy 数组或 rearray 配合使用吗 我的意思是 它可以识别数据类型 不需要逐行插入 并提取到 NumPy rec 数组中 有点
  • DataFrame.loc 的“索引器太多”

    我读了关于切片器的文档 http pandas pydata org pandas docs stable advanced html using slicers一百万次 但我从来没有理解过它 所以我仍在试图弄清楚如何使用loc切片Data
  • 在多核上运行 python 线程

    我知道Python 2 7不允许在不同的内核上运行多个线程 你需要使用multiprocessing模块以实现某种程度的并发性 我正在看concurrent futuresPython 3 4 中的模块 是否使用ThreadPoolExec
  • pandas 数据框的最大大小

    我正在尝试使用读取一个有点大的数据集pandas read csv or read stata功能 但我不断遇到Memory Errors 数据帧的最大大小是多少 我的理解是 只要数据适合内存 数据帧就应该没问题 这对我来说不应该是问题 还
  • 无法使用Python请求会话模块登录网站

    我刚刚开始进行网络抓取 对于我的第一个项目 我尝试使用 requests Session 登录 artofproblemsolving com 并访问另一个用户的帐户 这是我的代码 import requests LOGIN URL htt
  • Python Apache Beam 端输入断言错误

    我对 Apache Beam Cloud Dataflow 还很陌生 所以如果我的理解不正确 我深表歉意 我正在尝试通过管道读取大约 30 000 行长的数据文件 我的简单管道首先从 GCS 打开 csv 从数据中提取标题 通过 ParDo
  • 对法语文本进行词形还原[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一些法语文本需要以某种方式进行处理 为此 我需要 首先 将文本标记为单词 然后对这些单词进行词形还原以避免多次处理相同的词根 据我
  • Django 1.7:如何使用 html/css 文件作为模板发送电子邮件

    从 Django 1 7 开始 可以send email 使用新参数 html message 不幸的是 没有关于如何使用它的全面指南 新手友好 或者至少我找不到它 我需要使发送的电子邮件变得漂亮 因此 我试图弄清楚如何将我的消息包含到 h
  • 列表中的特定范围(python)

    我有一个从文本字符串中提取的整数列表 因此当我打印该列表 我称之为test I get 135 2256 1984 3985 1991 1023 1999 我想打印或制作一个仅包含特定范围内的数字的新列表 例如1000 2000之间 我尝试
  • 在字符串内打印单引号

    我想输出 XYZ s ABC 我在Python IDLE中尝试了以下3条语句 第一条和第二条语句输出 a before 带打印功能的第三条语句不输出 before 作为 Python 新手 我想了解为什么 之前输出 在第 1 条和第 2 条
  • 解析整数集的字符串并列出间隔

    I have 2 5 7 9 12 string 我想从中获取 2 5 7 8 9 12 列表 python中有没有内置的函数 Thanks UPD 我想 直接的答案是No 不管怎样 谢谢你的 片段 使用一个 建议者斯文 马尔纳克 s 2
  • 如何将 django ModelForm 字段显示为不可编辑

    接受我的初步教训django ModelForm 我想让用户能够编辑博客中的条目 BlogEntry has a date postedTime title and content 我想向用户展示一个编辑表单 其中显示所有这些字段 但仅包含
  • 如何在类型提示中定义元组或列表的大小

    有没有办法在参数的类型提示中定义元组或列表的大小 目前我正在使用这样的东西 from typing import List Optional Tuple def function name self list1 List Class1 if
  • 如何使用 python 模块的多个 git 分支?

    我想使用 git 来同时处理我正在编写的模块中的多个功能 我目前正在使用 SVN 只有一个工作区 因此我的 PYTHONPATH 上只有该工作区 我意识到这不太理想 所以我想知道是否有人可以建议一种更 正确 的方法来做到这一点 让我用一个假
  • Django 中使用外键的抽象基类继承

    我正在尝试在 Django 支持的网站上进行模型继承 以遵守 DRY 我的目标是使用一个名为 BasicCompany 的抽象基类来为三个子类提供通用信息 Butcher Baker CandlestickMaker 它们位于各自的应用程序
  • 尝试 numba 时出现巨大错误

    我在使用 numba 时遇到了大量错误 讽刺的是 正确的结果是在错误之后打印的 我正在使用最新的 Anaconda python 并安装了 numba conda install numba 一次在 Ubuntu 13 64 位和 anac
  • 在自定义 keras 层的调用函数中传递附加参数

    我创建了一个自定义 keras 层 目的是在推理过程中手动更改前一层的激活 以下是基本层 它只是将激活值乘以一个数字 import numpy as np from keras import backend as K from keras

随机推荐

  • 技术至简-7:2G/3G/4G/5G基站系统中混合调制的技术框架

    2G 3G 4G 5G基站系统并非采用单一的调制技术 是数字调制和模拟调制的综合 是QAM调制与IQ调制的综合 是幅度调制与相位调制的综合 1 调制模型 在此模型中 包含了三种调制 1 数字基带调制 PSK QAM调制 2 模拟基带调制 I
  • Git日常问题: 什么是LFS?及其错误解决办法

    文章目录 Git LFS 错误 Git LFS 解决办法 Git LFS 错误 本地已经存在一个git仓库 想将其推送到一个远程仓库 结果遇到了git lfs错误 打印如下 git remote rename origin old orig
  • 解决DCNv2在Linux上安装失败的问题

    项目场景 今天同学安装 DCN Deformable Convolutional Networks 可变形卷积网络 v2的 PyTorch 版本时遇到了很多问题 弄了将近一天也没解决 于是求助笔者帮忙解决 这里记录一下成功的解决方案 问题描
  • MATLAB算法实战应用案例精讲-【回归算法】XGBoost算法(附Java、Python和R语言代码)

    目录 前言 xgboost面试过程中几个高频问题 1 xgboost如何处理缺失值
  • 什么是JDBC?并写出JDBC的开发流程。

    JDBC Java DataBase Connectivity 直译为 java数据库连接 实际上jdbc是java中的一套和数据库交互的api application program interface 应用程序编程接口 因为java程序
  • 【uni-app】修改原生导航栏文字和文字样式

    修改文字 uni setNavigationBarTitle 这是修改后的导航栏文字 title 首页 修改文字颜色以及导航栏背景色 uni setNavigationBarColor frontColor ffffff 文字颜色 back
  • SystemVerilog-$cast详解

    cast在子类与父类之间的复制 1 子类cast给父类 cast father cls child cls 之前有提到 cast是将两个类型强制转换 cast A B 将B强制类型转换给A 应用在类上 就是句柄的强制赋值操作 那么在子类和父
  • Global Illumination_Screen-Space Directional Occlusion(SSDO)

    之前我们了解过AO SSAO HBAO 可参照之前文章Vulkan SSAO 屏幕空间环境光遮蔽 DirectX11进阶9 AO SSAO Particle System GPU Global Illumination Horizon Ba
  • 常用椭圆曲线介绍

    chat gpt生成 对应python的miracl core python库 ED系列 一 ED25519 ED25519使用的椭圆曲线是Curve25519 它是一种高效且安全的椭圆曲线 由Daniel J Bernstein等人设计
  • 游戏渲染技术:前向渲染 vs 延迟渲染 vs Forward+渲染(二)

    GTA5 2 前向渲染 前向渲染是三个光照技术中最简单的 也是游戏图形渲染中最常见的技术 出于这个原因 也是光照计算最昂贵的技术 它不允许在场景中出现大量的动态光源 大部分使用前向渲染的图形引擎会采用一些技术来模拟场景中大量的光源的情况 例
  • 区间预测

    区间预测 MATLAB实现QRCNN BiLSTM卷积双向长短期记忆神经网络分位数回归时间序列区间预测 目录 区间预测 MATLAB实现QRCNN BiLSTM卷积双向长短期记忆神经网络分位数回归时间序列区间预测 效果一览 基本介绍 模型描
  • php比较两个二维数组是否相同,多维数组

    欢迎加入 新群号码 99640845 几天前跟同事讨论一个很有趣的问题 一直想写下来结果总没有时间 今天终于有时间了 如题 php如何比较两个二维数组是否相同 这个问题我在群里也问了很多人 大多数就是遍历了 有的人遍历一次 有的人遍历两次
  • 微信Banner广告位置设置

    在微信中banner广告的调用 并没有在微信官方文档中解释得比较明白 也没有简单明了的示例 所以我们在这里讨论一下banner广告的实现 微信中的banner广告的位置属性只有 left top 意味着只有左对齐和上对齐 而且 微信中的这个
  • 3D模型学会了「唱、跳、Rap、篮球」,程序员们全沉迷「鸡你太美」

    继 B 站之后 GitHub 网友也开始沉迷 鸡你太美 让 3D 姿态也学会了 唱 跳 Rap 篮球 而且动作准确度和连贯性似乎一点也不输练习时长两年半的练习生 看了这段 demo 之后 网友戏称 你的律师函已经在路上了 这段 看到停不下来
  • 万字解析GPT的情感与意识,它是一只被人类操控的“风筝”

    来源 AI未来指北 编辑整理 周小燕 郭晓静 AI未来指北 栏目由腾讯新闻推出 邀约全球业内专家 创业者 投资人 探讨AI领域的技术发展 商业模式 应用场景 伦理及版权争议 丨划重点 一部分基础工作可能会被AI产品替代 然而 创意工作 管理
  • Webpack打包-打包详细流程

    Webpack Webpack是一个现代化的静态模块打包器 支持JavaScript CSS 图片等资源的打包 它将所有模块及其依赖项视为静态资源 并创建一个依赖关系图 将这些资源转换为有效的输出文件 通过Webpack 可以将多个文件打包
  • HTTP 304 错误的详细解释

    Not Modified 客户端有缓冲的文档并发出了一个条件性的请求 一般是提供If Modified Since头表示客户只想比指定日期更新的文档 服务器告诉客户 原来缓冲的文档还可以继续使用 如果客户端在请求一个文件的时候 发现自己缓存
  • 【深度学习实验】前馈神经网络(三):自定义多层感知机(激活函数logistic、线性层算Linear)

    目录 一 实验介绍 二 实验环境 1 配置虚拟环境 2 库版本介绍 三 实验内容 0 导入必要的工具包 1 构建数据集 2 激活函数logistic 3 线性层算子 Linear 4 两层的前馈神经网络MLP 5 模型训练 一 实验介绍 本
  • 文章:LIME:Why Should I Trust You?

    本文结合文章 Why Should I Trust You Explaining the Predictions of Any Classifier 主要阐述一下内容 LIME 算法意义 LIME 算法原理 LIME 算法效果 原文参见 h
  • 【Python实训】Python实现多级菜单

    menu 北京 海淀 五道口 soho 网易 google 中关村 爱奇艺 汽车之家 youku 上地 百度