第二周Python笔记 数据类型 字典
字典key-value的删除、def(dict['key']) ; dict.pop(“key”)
查询value:dict.get(“key”)
查询所有keys,values()
转换为列表.items()
fromkeys([key1,key2,key....],"default_value)初始化一个字典:注意初始化的value为一个内存地址。
注意多层级的初始化字典的坑
for循环取值
省市县多级字典查询while死循环查询if判断,for遍历取值
省市县级查询,每一级都可以exit退出查询程序,或者back返回上级重新选择再查询。
应用重点知识:
elif可以多次进行判断使用,判断是输入back返回上一级,输入exit退出程序
每一个层级,如果是选择了输入exit,就赋值一个变量。然后break退出本次while循环,然后这个变量在退出while循环后,这个变量会存在。给上一个while循环做判断:进入每个层级的时候都先判断这个exit_变量是否存在,存在就依次退出while并向上级传递exit_变量的存在。依次退出直至退出整个程序。
补充新知识:判断变量是否存在
python中检测某个变量是否有定义
第一种方法使用内置函数locals():
'testvar' in locals().keys()
第二种方法使用内置函数dir():
'testvar' in dir()
while True: if "exit_" in locals().keys(): #判断变量是否存在,存在就跳出循环:做退出程序用, break else: pass for i in china_data: print(i) input1 = input("查哪个省?quit/exit可退出") if input1 in china_data: while True: if "exit_" in locals().keys(): #判断变量是否存在,存在就跳出循环:做退出程序用 break else: pass for i in china_data[input1]: print("\t",i) input2 = input("\t\t查哪个市?back返回exit退出") if input2 in china_data[input1]: while True: if "test_" in locals().keys(): #判断变量是否存在,存在就跳出循环:做退出程序用 break else: pass for i in china_data[input1][input2]: print("\t\t",i) input3 = input("\t\t\t查哪个县?back返回exit退出") if input3 in china_data[input1][input2]: for i in china_data[input1][input2][input3]: print("\t\t\t",i) input4 = input("\t\t\t\t继续吗?back返回,exit退出") if input4 == "back": break elif input4 == "exit": #【最底层查询后,如果输入exit就赋值一个变量传给上层循环做判断】 exit_ = 1 print("退出程序") break elif input3 == "back": print("退出县级") break elif input3 == "exit": #【选择县级时如果输入exit就赋值一个变量传给上层循环做判断】 exit_ = 1 print("退出程序") break else: print("您输入的县不存在,重新输入") elif input2 == "back": print("退出市级") break elif input2 == "exit": #【选择市级时,如果输入exit就赋值一个变量传给上层循环做判断】 print("退出程序") exit_ = 1 break else: print("您输入的市不存在,重新输入") elif input1 == "quit": print("退出查询") break elif input1 == "exit": #【判断刚进入程序时(选择省级时),如果输入的市exit就退出程序】 exit_ = 1 print("退出程序") break else: print("您输入的省不存在,重新输入")
转载于:https://www.cnblogs.com/zhangmingda/p/9003555.html
第二周Python笔记 数据类型 字典相关推荐
- JAVA 第二周学习笔记
JAVA第二周学习笔记 一.变量 1.变量的本质 2.变量的三大要素 a.变量名: b.变量值: c.变量类型: 3.变量的定义和使用 4.课后小练习: 5.变量的定义和使用 二.运算符 1.赋值运算 ...
- Linux第二周学习笔记(7)
Linux第二周学习笔记(7) 2.13 文档查看cat_more_less_head_tail (1). cat命令 cat命令:用于查看一个文件的内容并将其显示在屏幕上 cat-A命令:显示所有的 ...
- 机电传动控制第二周学习笔记
机电传动控制第二周学习笔记 经过第二周的学习,我了解了电机的发展历史.从奥斯特发现电生磁的现象,到法拉第电磁回转实验,再到后来的电机一步步的发展至今.它充满了巧合,但是它又必然一步步向更完美走去.电机 ...
- Linux第二周学习笔记(11)
Linux第二周学习笔记(11) 2.17 隐藏权限lsattr_chattr chattr命令:是设置吟唱隐藏权限的命令,更改Linux文件系统上的文件属性. 参数说明: A:表示文件或目录的ati ...
- Linux第二周学习笔记(5)
Linux第二周学习笔记(5) 2.11.CP命令 cp(copy简写)命令:用来将一个或多个源文件或者目录复制到指定的目的文件或目录. cp –r:复制目录 -i:安全选项 cp命令:拷贝/etc/ ...
- Linux第二周学习笔记(1)
Linux第二周学习笔记(1) 2.6,相对和绝对路径 (1).路径:就是某一个文件存放的地方,只要键入这个文件的路径系统就只能直接找到这文件所在位置,所以找一个文件需要输入这个文件的路径. (2). ...
- 大学生慕课第二周学习笔记
Open Judge 第二周学习笔记 2.1 输入输出进阶 %f:读入输出float/输出double. %lf:读入double. %lld:读入输出long long. %s:读入输出字符串,不 ...
- Linux第二周学习笔记(12)
Linux第二周学习笔记(12) 2.18 特殊权限set_uid set_uid:这个权限是针对二进制可执行文件,使文件在执行阶段具有文件所有者的的权限. --------------------- ...
- Linux第二周学习笔记(13)
Linux第二周学习笔记(13) 2.19 特殊权限set_gid 特殊权限set_gid:这个权限可以作用在二进制可执行文件上,还可以作用在目录上.特殊权限set_gid权限位是作用在组权限位上,目 ...
最新文章
- 设置Open in Terminal快捷键Alt+Shift+Z,方便angular项目的各种命令输入(多任务状态下)
- Discuz!常用函数解析(续)
- Redis集群Twemproxy
- CentOS7 NTP客户端和服务器安装和使用
- java中获取当前服务器的Ip地址
- linux开终端失败,Linux:终端提示符 (prompt) 不如期生效原因
- zephyr 测试框架
- mysql语句优化方案(网上流传)
- Android intent 页面跳转
- C++拷贝构造函数的陷阱
- 构建和测试JSF.next
- c java 语法_java程序员要学的c语法
- offsetLeft
- 分布式架构入门心得小结(1)
- LINUX用户执行过的命令,保存在.bash_history
- JSON格式错误报JSON parse error:
- linux系统gaussian09,高斯(Gaussian)软件linux下安装
- WIN10系统 Indirect Display 虚拟显示器之特殊应用
- 中文技术文档写作规范(汇总整理版)
- android eclipse ddms 查看线程,android ddms中查看线程释疑
热门文章
- Ubuntu硬盘的挂载(临时、永久挂载)
- Android Studio实现功能丰富的仓库管理系统
- oracle改成归档模式_将Oracle数据库改为归档模式并启用Rman备份
- 灯效控制器和rgb控制器_还有什么不能RGB?TT发布Level 20 RGB BattleStation电竞桌
- linux的文件解压命令,linux解压命令(linux解压文件命令)
- java代码post接口请求 用 hutool工具类
- 覆盖索引与联合索引_MySQL:你知道什么是覆盖索引吗?
- lua能在stm32arm上运行吗_IOS App能在Mac运行!苹果这黑科技能撼动微软吗?
- 力邀安卓为鸿蒙效力,2019 十大语文差错
- python 外部参数过长_介绍python中slice参数过长的处理方法及实例