menu = {
'北京': {
'朝阳': {
'国贸': {
'CICC': {},
'HP': {},
'渣打银行': {}
},
'望京': {
'陌陌': {},
'奔驰': {}
}
},
'海淀': {
'五道口': {
'谷歌': {},
'网易': {},
'快手': {}
},
},
'昌平': {}
},
'上海': {
'浦东': {
'陆家嘴': {'CICC'},
'高盛': {}
},
'闵行': {}
}
} current_layer = menu
back = True
father_list = []
while back:
for i in current_layer:
print(i)
choice = input('>>:').strip()
if len(choice) == 0:
continue
if choice in current_layer:
father_layer = current_layer
father_list.append(father_layer)
current_layer = current_layer[choice]
elif choice == "q":
back = False
print("退出")
else:
if father_list:
current_layer = father_list.pop()
if的使用使用多个的时候会出现问题,应使用elif
 -------->ASCII :只能存英文和拉丁字符。一个字符占一个字节:8bite
-----------> gb2312:只能6700多个中文,1980年
----------------> gbk1.0:存了2万多字符,1995
------------------> gb18030:2000, 27000中文 ----------->unicode:utf-32: 一个字符占4字节
----------->unicode:utf-16: 一个字符占2个字节或2个以上,65535
----------->unicode:utf-8:一个英文用ASCII码来存,一个中文占3个字节

 python 2中
a = "你好"
a_to_unicode = a.decode("utf-8") # 所有的解码都是解码到unicode,将utf-8的编码改为unicode,空的时候是python默认编码
a_to_gbk = a_to_unicode.encode("gbk") # 编码是unicode转化为gbk python 3
# python 3 默认的编码方式是unicode,所有可以直接进行编码
a = "特斯拉"
a_to_gbk = a.encode("gbk") # 将unicode文件编码成gbk,并且将数据转化为bytes类型
a_to_unicode = a_to_gbk.decode("gbk") # 将gbk转化为Unicode,并且将数据转化为str类型
 

day 7 编码的更多相关文章

  1. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  2. URL安全的Base64编码

    Base64编码可用于在HTTP环境下传递较长的标识信息.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式.此时,采用Base64编码不仅比较简短,同时也具有不可 ...

  3. myeclipse学习总结一(在MyEclipse中设置生成jsp页面时默认编码为utf-8编码)

    1.每次我们在MyEclispe中创建Jsp页面,生成的Jsp页面的默认编码是"ISO-8859-1".在这种情况下,当我们在页面中编写的内容存在中文的时候,就无法进行保存.如下图 ...

  4. Base64编码

    Base64编码 写在前面 今天在做一个Android app时遇到了一个问题:Android端采用ASE对称加密的数据在JavaWeb(jre1.8.0_7)后台解密时,居然解密失败了!经过测试后发 ...

  5. 使用etree.HTML的编码问题

    title: 使用etree.HTML的编码问题 date: 2015-10-07 17:56:47 categories: [Python] tags: [Python, lxml, Xpath] ...

  6. 前端学HTTP之实体和编码

    前面的话 每天都有各种媒体对象经由HTTP传送,如图像.文本.影片以及软件程序等.HTTP要确保它的报文被正确传送,识别.提取以及适当处理.为了实现这些目标,HTTP使用了完善的标签来描述承载内容的实 ...

  7. Android数据加密之Base64编码算法

    前言: 前面学习总结了平时开发中遇见的各种数据加密方式,最终都会对加密后的二进制数据进行Base64编码,起到一种二次加密的效果,其实呢Base64从严格意义上来说的话不是一种加密算法,而是一种编码算 ...

  8. iOS 原生地图地理编码与反地理编码

    当我们要在App实现功能:输入地名,编码为经纬度,实现导航功能. 那么,我需要用到原生地图中的地理编码功能,而在Core Location中主要包含了定位.地理编码(包括反编码)功能. 在文件中导入 ...

  9. 软件工程(C编码实践篇)学习心得

    孟繁琛 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程 http://mooc.study.163.com/course/USTC-1000002006 软件工程 ...

  10. cmd窗口编码设置

    问题描述:不知道误操作了什么,导致cmd窗口的鼠标显示位置出现错位,如下: 现在要将鼠标位置调整回来. 使用工具:cmd. 操作步骤: 1.查看cmd属性可以看到 可以看到是UTF-8编码格式的,我们 ...

随机推荐

  1. Unity外包团队:Daydream控制器只提供了3个自由度

    HTC Vive,Oculus Rift以及微软即将推出的MR头显都拥有6自由度的运动控制器,这意味着你在虚拟世界中可以任意摆动你的手.然而,Daydream控制器只提供了3个自由度,这对于手部运动具 ...

  2. Hexo-Next6.7.0主题优化

    Hexo-Next6.7.0主题优化 效果预览:Next6.7.0主题个人博客 一.下载next主题 $ cd your-hexo-site $ git clone https://github.co ...

  3. 协议并发测试工具 BoHexTest

    BoHexTest V1.0.3 1.添加连接LOG打印2.优化代理及并发策略 大小: 1074688 字节修改时间: 2017年10月3日, 10:24:26MD5: EBAE5A17F7F5ED0 ...

  4. [UE4]Native Widget Host

    一.Native Widget Host是一个容器,它可以包含一个Slate UI 二.Native Widget Host应该用在当你需要把一个Slate UI 放到UMG中的时候,只有这个时候才需 ...

  5. docker 批量删除

    杀死所有正在运行的容器docker kill $(docker ps -a -q) 删除所有已经停止的容器docker rm $(docker ps -a -q) 删除所有未打 dangling 标签 ...

  6. mysqldump备份与恢复笔记

    mysql> show databases; +--------------------+ | Database           | +--------------------+ | inf ...

  7. 详解卷积神经网络(CNN)

    详解卷积神经网络(CNN) 详解卷积神经网络CNN 概揽 Layers used to build ConvNets 卷积层Convolutional layer 池化层Pooling Layer 全 ...

  8. Spring MVC和Spring Boot的理解以及比较

    Spring MVC是什么?(1)Spring MVC是Spring提供的一个强大而灵活的模块式web框架.通过Dispatcher Servlet, ModelAndView 和 View Reso ...

  9. python爬虫之解析库Beautiful Soup

    为何要用Beautiful Soup Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式, 是一个 ...

  10. git保存用户名和密码

    git保存用户名和密码 简介:tortoiseGit(乌龟git)图形化了git,我们用起来很方便,但是我们拉取私有项目的时候,每次都要输入用户名和密码很麻烦,这里向大家介绍怎么避免多少输入 试验环境 ...