python基础_制作多级菜单_(运用:字典_列表_元组等知识)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige db = {}
path = {} while True:
temp = db
for item in path:
temp = temp[item]
print('当前节点的所有子节点:',list(temp.keys()),'\n')
choice = input('1: 添加节点; 2: 查看节点 (Q退出/返回上一级B)\n>>>')
if choice == '':
k = input('请输入要添加的子节点名称: ')
if k in temp:
print('节点已经存在')
else:
temp[k] = {}
elif choice == '':
k = input('请输入要查看的子节点:')
if k in temp:
path.append(k)
else:
print('子节点名称错误')
elif choice.lower() == 'b':
if path:
path.pop()
elif choice.lower() == 'q':
break
else:
print('输入不合法')
执行结果:
当前节点的所有子节点: [] 1: 添加节点; 2: 查看节点 (Q退出/返回上一级B)
>>>1
请输入要添加的子节点名称: 广东
当前节点的所有子节点: ['广东'] 1: 添加节点; 2: 查看节点 (Q退出/返回上一级B)
>>>2
请输入要查看的子节点:北京
子节点名称错误
当前节点的所有子节点: ['广东'] 1: 添加节点; 2: 查看节点 (Q退出/返回上一级B)
>>>1
请输入要添加的子节点名称: 北京
当前节点的所有子节点: ['广东', '北京'] 1: 添加节点; 2: 查看节点 (Q退出/返回上一级B)
>>>上海
输入不合法
当前节点的所有子节点: ['广东', '北京'] 1: 添加节点; 2: 查看节点 (Q退出/返回上一级B)
python基础_制作多级菜单_(运用:字典_列表_元组等知识)的更多相关文章
- Python基础之字符串,布尔值,整数,列表,元组,字典,集合
一.str字符串 1.capitalize字符串首字母大写 name = "json" v = name.capitalize() print(v) # 输出结果:Json 2.c ...
- 【Python基础教程第2版】——第二讲:列表和元组
引言: 什么是数据结构? 数据结果是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合.Python中最常用的数据结构是序列. Python包含6种内建的序列:列表和元组(最常用:列表可以修 ...
- Python基础教程 读书笔记(2)第二章 列表和元组
2.1序列概览 列表和元组的主要区别在于,列表可以修改,元组则不能.也就是说如果要根据要求来添加元素,那么列表可能会更好用;而出于某些原因,序列不能修改的时候,使用元组则更为合适.使用后者的理由通常是 ...
- Python基础数据类型(数字、字符串、布尔、列表、元组、字典、集合等)
数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定 ...
- python基础(5)---整型、字符串、列表、元组、字典内置方法和文件操作介绍
对于python而言,一切事物都是对象,对象是基于类创建的,对象继承了类的属性,方法等特性 1.int 首先,我们来查看下int包含了哪些函数 # python3.x dir(int) # ['__a ...
- 制作多级菜单hide()与show() toggle()
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 《python基础教程(第二版)》学习笔记 列表/元组(第2章)
<python基础教程(第二版)>学习笔记 列表/元组(第2章)序列中的下标从0开始x='ABC' ==> x[0]='A', x[1]='B', x[2]='C'负数索引从右边开始 ...
- python作业设计:多级菜单,并可依次进入各级子菜单
'''作业三:多级菜单 三级菜单 可依次选择进入各子菜单 所需新知识点:列表.字典 ''' data = { "北京":{ "昌平":{ "沙河&qu ...
- Python基础学习笔记(八)常用字典内置函数和方法
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-dictionary.html 3. http://www.lia ...
随机推荐
- hadoop如何处理长时间运行不完成的map/reduce 任务?
如果某一个任务在某个节点上长时间不完成,怎么手动干预来处理这种情况?董西成博客上找到的回答:hadoop中有三种特殊的任务,failed task,killed task和speculative ta ...
- label与input间距的小问题
先码后文 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- java使用IO读写文件总结
每次用到IO的读写文件都老忘记写法,都要翻过往笔记,今天总结下,省的以后老忘.java读写文件的IO流分两大类,字节流和字符流,基类分别是字符:Reader和Writer:字节:InputStream ...
- hdu-5492 Find a path(dp)
题目链接: Find a path Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- Unity StartCoroutine 和 yield return 深入研究
http://www.cnblogs.com/fly-100/p/3910515.html
- 关于Kendo UI的使用心得
1.在筛选里面的条件选项进行编辑 filterable: { extra: false, operators: { string: { startswith: "Starts with&qu ...
- oracle的substr函数的用法
oracle的substr函数的用法 取得字符串中指定起始位置和长度的字符串 substr( string, start_position, [ length ] ) 如: substr( ...
- Eclipse中启用Oracle jdbc logging
根据自己用的JRE版本, jre1.5选择ojdbc5_g.jar, jre6选择ojdbc6_g.jar, 只有带_g的dirver才输出debug信息. maven 的配置信息: <depe ...
- Openjudge 1.13-40 提取数字串按数值排序
40:提取数字串按数值排序 查看 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个字符串,请将其中的所有数字串提取,并将每个数字串作为整数看待(假设可以用int 表示),按从 ...
- C#TCP通讯框架
开源的C#TCP通讯框架 原来收费的TCP通讯框架开源了,这是一款国外的开源TCP通信框架,使用了一段时间,感觉不错,介绍给大家 框架名称是networkcomms 作者开发了5年多,目前已经停止开发 ...