第2章 Python基础-字符编码&数据类型 字符编码&字符串 练习题
2018-03-07 15:28
711 查看
1.简述位、字节的关系
位(bit)是计算机中最小的表示单元 字节(bytes)是计算机中最小的存储单位,1bytes缩写为1B 8bit = 1bytes
2.简述ascii、unicode、uft-8、gbk的关系
美国制定了一套字符编码,对英语字符与二进制位之间的关系做了统一规定,这被称为ASCII码,由1个字节组成,最多支持2**8=256个字符 Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案,现代操作系统和大多数编程语言都直接支持Unicode,不管是英文字母还是汉字,通常由2个字节组成(只有很生僻的字符才会被编码成4个字节),最多支持2**16=65536个字符,如果文本基本全部都是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,所以本着节约精神,出现了UTF-8编码 UTF-8最大的特点就是它是一种可变长的编码方式,通常由1-3个字节组成,常用的英文字母被编码成1个字节,汉字通常是3个字节(只有很生僻的字符才会被编码成4-6个字节),同时ASCII编码可以看成UTF-8编码的一部分(英文字符),所以只支持ASCII编码的软件可以在UTF-8编码下运行 GBK是汉字国标扩展码,由于GBK同时也涵盖了Unicode所有CJK汉字,所以也可以和Unicode做一一对应。Windows默认编码GBK,中文占2个字节 现在计算机系统通用的字符编码工作方式:在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或需要传输时候,就转换为UTF-8编码
3.请写出“李杰”分别用utf-8和gbk编码所占的位数
UTF-8中一个英文占1个字节,一个中文占3个字节,此处“李杰”占6个字节 GBK中一个中文占2个字节,此处“李杰”占4个字符
4.如有一个变量n1 = 5,请使用int提供的方法,得到该变量最少可以用多少个二进制位表示?
#!/usr/bin/env python #-*- encoding:utf-8 -*- n1 = 5 v = int.bit_length(n1) print(v)
5.布尔值分别有什么?
True False "" => False #空字符串 "有内容" => True 0 => False 其他数字 => True
6.阅读代码,请写出执行结果
def check_code(): import random checkcode = '' for i in range(4): current = random.randrange(0,4) if current != i: temp = chr(random.randint(65,90)) else: temp = random.randint(0,9) checkcode += str(temp) return checkcode code = check_code() print(code)
View Code
#!/usr/bin/env python # -*- encoding: utf8 -*- def check_code(): import random checkcode = '' for i in range(4): current = random.randrange(0, 4) if current != i: temp = chr(random.randint(65, 90)) else: temp = random.randint(0, 9) checkcode += str(temp) return checkcode while True: code = check_code() print(code) app = input("请输入验证码:") if code.upper() == app.upper(): print("输入正确") break else: print("输入错误") s = input("是否重新输入?") if s == "no": break else: continue
15.开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如“苍老师”“东京热”,则将内容替换为***
v = input(">>>") v = v.replace("苍老师","***") v = v.replace("东京热","***") print(v)
16.制作表格
循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过则只有前20个字符有效)如果用户输入q或Q表示不再继续输入,将用户输入的内容以表格形式显示。
#!/usr/bin/env python # -*- encoding: utf8 -*- s = "" while True: name = input("用户名:") if name == "q" or name == "Q": break if len(name) >= 20: name = name[:20] passwd = input("密码:") if len(passwd) >= 20: passwd = passwd[:20] email = input("邮箱:") if len(email) >= 20: email = email[:20] template = "{0}\t{1}\t{2}\n" v = template.format(name, passwd, email) s += v print(s.expandtabs(20))
相关文章推荐
- 第2章 Python基础-字符编码&数据类型 字典 练习题
- 第2章 Python基础-字符编码&数据类型 列表&元祖 练习题
- 第2章 Python基础-字符编码&数据类型 综合 练习题
- 第2章 Python基础-字符编码&数据类型 购物车&多级菜单 作业
- Python新手学习基础之数据类型——字符串的切片截取
- python教程1:Python基础之数据类型和变量、字符串和编码
- Python学习笔记(一)--Python基础知识:变量、数据类型、模块与字符串
- Python基础(3) - 数据类型:2字符串类型
- python基础一数据类型之字符串
- python 基础数据类型之字符串02
- Python新手学习基础之数据类型——字符串类型
- Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化
- Python【基础:数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set】注意事项(与java,c比较)
- 第2章 Python基础语法 -- 数据类型
- 第2章python基础 数据类型与文件操作
- Python3学习(一)-基础、数据类型、变量、字符串和编码、list&tuple、if、for、while、dict、set、函数与参数
- Python基础——原生数据类型(字典,列表,元组,字符串)
- Python基础:数据类型-字符串:string
- python基础-数据类型转换、字符串
- Python基础:1.数据类型(空、布尔类型、整型、长整型、浮点型、字符串)