# 需求:
# 可依次选择进入各子菜单
# 可从任意一层往回退到上一层
# 可从任意一层退出程序
# 所需新知识点:列表、字典
# 踩分点:
# 1.只用一个while循环,且整体代码量少于15行按完成需求/条—25分
# 2.只用一个while循环,且整体代码量多于15行需求全部完成给90分
# 3.其他情况按完成需求/条—20分
menu = {
'北京': {
'海淀': {
'五道口': {
'soho': {},
'网易': {},
'google': {}
},
'中关村': {
'爱奇艺': {},
'汽车之家': {},
'youku': {},
},
'上地': {
'百度': {},
},
},
'昌平': {
'沙河': {
'老男孩': {},
'北航': {},
},
'天通苑': {},
'回龙观': {},
},
'朝阳': {},
'东城': {},
},
'上海': {
'闵行': {
"人民广场": {
'炸鸡店': {}
}
},
'闸北': {
'火车站': {
'携程': {}
}
},
'浦东': {},
},
'山东': {},
}
path, msg = [menu], ''
while True:
print(list(path[-1].keys()), '\t>>>' if len(msg) > 0 else '', msg)
choice = input("输入下一级地址,退出(q),后退(b):").strip(' \t\n\r')
if choice == 'q':
break
elif choice == '':
msg = '输入不能为空!'
elif choice == 'b':
msg = '到顶了!' if len(path) == 1 else path.pop() and ''
elif choice in path[-1]:
msg = path.append(path[-1][choice]) or ''
else:
msg = '地址输入错误!'
不能再短(*^▽^*):
path, msg = [menu], ' '
while True:
print(list(path[-1].keys()), '' if msg == ' ' else '\t>>>', msg)
choice = input("输入下一级地址,退出(q),后退(b):").strip(' \t\n\r')
if choice == 'q':
break
else:
msg = (choice == '' and '输入不能为空!') \
or (choice == 'b' and (len(path) == 1 and '到顶了!'or path.pop() and ' '))\
or (choice in path[-1] and (path.append(path[-1][choice]) or ' ')) \
or '地址输入错误!''
分享到:
相关推荐
原生JS打印插件之jQuery.EasyPrint.js使用文档 调用浏览器自带打印功能,使用JavaScript的 window.print(); 方法。 使用JS实现打印功能;JavaScript 实现打印操作;javascript打印大全;通用;js实现打印的方式;JS...
例如,如果functl.py中有函数`print_hello()`,你可以这样调用它: ```python import functl functl.print_hello() ``` 总结来说,setuptools和ez_setup.py是Python包管理和安装的重要工具,functl.py则是一个可能...
"PrintSpooler.apk源码" 指的是Android系统中用于管理打印任务的服务——PrintSpooler的相关源代码。在Android系统中,PrintSpooler服务是内置于操作系统中的,负责处理打印作业,与各种打印机进行通信,并管理用户...
这将打印出`/home/user/documents`目录下的所有文件路径。 **5. 文件内容操作** 读取文件内容: ```python with p.open('r') as f: content = f.read() ``` 写入文件: ```python p.write_text('Hello, World!', ...
经过修改过的panic.py文件 1、不必放在项目根目录,可以放在任意位置 2、product信息可以做为参数传入 ... -h print help info 详细信息参见http://liuju1234.blog.163.com/blog/static/162281520111126105523630/
在Python3中使用HTMLTestRunner.py时,可能会遇到一个常见的问题,即报出"ImportError: No module named 'StringIO'"的错误。这个问题的出现,主要是因为在Python3中,StringIO模块已经被io模块中的StringIO类所取代...
截屏用的代码,适用于windows,需要安装pywin32和pynput模块。可以随时按F12截屏(快捷键可自行修改),图片会自动保存在脚本所在文件夹,游戏和视频截屏爽歪歪~
print("未能获取图像") ``` `ret`是布尔值,表示是否成功读取了一帧;`frame`则是读取到的图像数据,可以是灰度图像或彩色图像,取决于相机设置和OpenCV的处理。 为了优化图像质量和处理速度,GrabImage.py可能...
5. 最终,在 `bb.py` 中尝试打印 `aa.a` 时,由于 `a` 变量尚未被定义(在 `aa.py` 的后续代码中定义),导致 `AttributeError` 错误。 #### 三、解决方案 为了避免上述错误,可以采取以下策略: - **修改 `bb.py...
基于jquery.print.js插件的js打印demo,简单易用,使用详细教程请查看我的个人主页的博客《一款很好用的Jquery 打印插件——jQuery.print.js》
c#报表打印20Print源码.rar
Python的import包含文件功能就跟PHP的include类似,但更确切的说应该更像是PHP中的require,因为Python里的import只要目标不存在就报错程序无法往下...print dir.b.name 执行 a.py 报错 提示找不到这个模块的名字 d
Python库`serial-0.0.55-py2.py3-none-any.whl`是针对Python编程语言的一个软件包,主要用于实现串行通信(Serial Communication)。这个库在Python的开发中扮演着重要的角色,尤其对于那些需要与硬件设备进行低级别...
**PyPI 官网下载 | path.py-9.0.1.tar.gz** 在Python的世界里,PyPI(Python Package Index)是官方的第三方库仓库,它为开发者提供了一个平台来发布和分享他们的软件包。当你在项目中需要使用到特定功能的库时,...
这段代码会打印出每次用户按下的键。 **鼠标控制** `pynput.mouse`模块则提供了对鼠标的控制。你可以监听鼠标事件,如点击、移动和滚动: ```python from pynput import mouse def on_click(x, y, button, ...
读取二进制bin文件,生成一个数组格式的txt文件;使用python编写;
PrintControl.cab可能包含了控制面板应用程序、设置向导或其他与打印相关的管理工具。 CAB 文件通常包含以下几部分: 1. **驱动程序文件**:这些是与特定打印机型号兼容的二进制文件,它们实现了操作系统与打印机...
demo-1-print().py
"c#报表打印VPrint源码.rar" 提供的是一套基于C#实现的报表打印解决方案,名为VPrint。通过分析这个压缩包中的内容,我们可以深入理解C#中报表打印的基本原理和实现方法。 首先,让我们了解C#中的报表打印基础。在...
《PyPI官网下载 | cmd.py-1.121.tar.gz——深入了解Python命令行接口库》 在Python的世界里,有一个强大的工具库叫做cmd.py,它是一个轻量级的框架,用于构建基于文本的命令行界面。这个资源,"cmd.py-1.121.tar.gz...