Python 基础之阶段测试
Posted alinuxer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 基础之阶段测试相关的知识,希望对你有一定的参考价值。
1、执行 Python 脚本的两种方式:
① 进入 Python 解释器执行;
② 通过 Python + .py 文件的全路径执行 Python 程序;
③ 在 Linux 中还可以通过给 .py 文件添加执行权限并 ./*.py 的方式执行。
2、简述位、字节的关系:
八位是一个字节。
3、简述 ascll、unicode、utf-8、gbk 的关系:
① 通过图示归纳关系:
② 描述四者之间的关系:
最早的 ASCII 编码只有 2**8-1=255 个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号。但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和 ASCII 编码冲突。所以,中国制定了一套 GB2312 编码,用来把中文编进去。
但是全世界有上百种语言,日本把日文编到 Shift_JIS 里,韩国把韩文编到 Euc-k r里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。因此,Unicode 应运而生,Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
Unicode 标准也在不断发展,但最常用的是用两个字节表示一个字符(至少为 16 个二进制位)。现代操作系统和大多数编程语言都直接支持Unicode。新的问题又出现了:如果统一成 Unicode 编码,乱码问题从此消失了。但如果你写的文本基本上全部是英文的话,用 Unicode 编码比 ASCII 编码需要多一倍的存储空间,在存储和传输上就十分不划算。
所以又出现了把 Unicode 编码转化为“可变长编码”的 UTF-8 编码。UTF-8 编码把一个 Unicode 字符根据不同的数字大小编码成 1-6 个字节,常用的英文字母被编码成 1 个字节,汉字通常是 3 个字节,只有很生僻的字符才会被编码成 4-6 个字节。如果你要传输的文本包含大量英文字符,用 UTF-8 编码就能节省空间。
UTF-8 编码有一个额外的好处,就是 ASCII 编码实际上可以被看成是 UTF-8 编码的一部分,所以,大量只支持 ASCII 编码的历史遗留软件可以在 UTF-8 编码下继续工作。
4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数:
在 UTF8 占用 6 字节,48 个二进制位;在 GBK 中占用 4 个字节,32 个二进制位。
5、Pyhton 单行注释和多行注释分别用什么:
单行注释:#
多行注释:‘‘‘ ‘‘‘ 或 """ """ (在要注释的行两端加三个双引号或三个单引号)
6、声明变量注意事项有哪些:
① 数字、字母、下划线,不能以数字开头;
② 不能跟关键字重复;
③ 不能跟内置内容重复。
7、以下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示:
提示:通过字符串的 bit_length 可以得到结果(答案略)
8、布尔值分别有什么:
True、False( Python 中首字母大写 )
知识补充 ① 布尔值的运用:
# "" (引号中什么都没有) ==========> 假(False)
# " " (空格字符串) ==========> 真(True)
# 0 (数字零) ==========> 假(False)
# 其他数字 ==========> 真(True)
知识补充 ② 数据类型的转换:
# a = "123" 转换为数字:b = int(a)
# a = 123 转换为字符串:b = str(a)
# a = 123 转换为布尔值:b = bool(a)
# a = "zxl" 转换为布尔值:b = bool(a)
9、阅读代码,请写出执行结果:
a = "alex" b = a.capitalize() print(a) print(b)
请写出输出结果:
D:pycharmfilesfirstvenvScriptspython.exe D:/pycharmfiles/first/day2/buer.py
alex
Alex
10、写代码,有如下变量,请按照要求实现每个功能:【略,详见上篇文章中字符串的魔法】
name = " aleX"
a. 移除 name 变量对应的值两边的空格,并输入移除后的内容。
b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果。
c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果。
d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
e. 将 name 变量对应的值根据 “l” 分割,并输出结果。
f. 请问,上一题 e 分割之后得到值是什么类型(可选)?
g. 将 name 变量对应的值变大写,并输出结果。
h. 将 name 变量对应的值变小写,并输出结果。
i. 请输出 name 变量对应的值的第 2 个字符?
j. 请输出 name 变量对应的值的前 3 个字符?
k. 请输出 name 变量对应的值的后 2 个字符?
l. 请输出 name 变量对应的值中 “e” 所在索引位置?
m. 获取子序列,仅不包含最后一个字符。如:oldboy 则获取 oldbo; root 则获取 roo。
11、字符串是否可迭代对象,如可以请使用 for 循环每一个元素?
① 可迭代对象:暂时认为能够被 for 循环进行获取的就是可迭代对象,又称迭代器。
② Python 中字符串是可迭代对象,可以用 for 循环每一个元素。
12、请用代码实现:
a. 利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain" 。
li= "alexericrain" v = "_".join(li) print(v)
D:pycharmfilesfirstvenvScriptspython.exe D:/pycharmfiles/first/day2/buer.py
a_l_e_x_e_r_i_c_r_a_i_n
b. 利用下划线将列表的每一个元素拼接成字符串,li = [‘alex‘, ‘eric‘, ‘rain‘] 。
li= [‘alex‘, ‘eric‘, ‘rain‘] v = "_".join(li) print(v) D:pycharmfilesfirstvenvScriptspython.exe D:/pycharmfiles/first/day2/buer.py alex_eric_rain
13、Python2 中的 range 和 Python3 中的 range 的区别:
Python 2:range 立即创建;Python 2 中的 xrange 和 Python 3 的 range 效果一样;
Python 3:for 循环时才会一个一个创建。
① 正序创建从 1 到 100,步长为 5:
for i in range(1,100,5): print(i)
② 倒序创建从 100 到 1,步长为 5:
for i in range(100,1,-5): print(i)
14、实现一个整数加法计算器:
如:content = input(‘请输入内容:‘) # 如: 5+9 或 5+ 9 或 5 + 9
content = input(‘请输入内容:‘) # 将用户输入的内容赋值给 content。 v1,v2 = content.split(‘+‘) # 将 content 内容以 “+” 分割并赋值给 v1、v2。 v1 = int(v1) # 重新赋值。 v2 = int(v2) # 重新赋值。 equel = v1 + v2 # 求和赋值给 equel。 print(equel) # 打印求得的结果。
D:pycharmfilesfirstvenvScriptspython.exe D:/pycharmfiles/first/day2/buer.py
请输入内容:5 + 13
18
15、计算用户输入的内容中有几个十进制小数,几个字母:
如:val = input(‘请输入内容:‘) # 如:asduiaf878123jkjsfd-213928
解答思路:
num = 0 string = 0 val = input(‘请输入内容:‘) for item in val: # 如果 item 是数字: num += 1 # 如果 item 是字母: string += 1 print(num) print(string)
16、简述 int 和 9 等数字以及 str 和 "xxoo" 等字符串的关系:
int 和 srt 是类,9 和 “ooxx” 是类的对象,所以它们是类和对象的关系。
17、制作趣味模板程序:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现:
如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx。
提示:定义模板,通过 format 实现。
name = input("姓名>>>") place = input("地址>>>") hobby = input("爱好>>>") temp = "敬爱可亲的{0},最喜欢在{1}{2}" v = temp.format(name,place,hobby) print(v)
D:pycharmfilesfirstvenvScriptspython.exe D:/pycharmfiles/first/day2/buer.py 姓名>>>张雷 地址>>>篮球场 爱好>>>打篮球 敬爱可亲的张雷,最喜欢在篮球场打篮球
18、制作随机验证码,不区分大小写:
流程:
- 用户执行程序
- 给用户显示需要输入的验证码
- 用户输入的值
用户输入的值和显示的值相同时现实正确信息,否则继续生成随机验证码继续等待用户输入
生成随机验证码代码示例:
19、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如 "苍老师" "东京热",则将内容替换为 ***
v = input("请说出你的故事>>>") v = v.replace(‘苍井空‘,"***") v = v.replace(‘东京热‘,"***") print(v)
D:pycharmfilesfirstvenvScriptspython.exe D:/pycharmfiles/first/day2/buer.py 请说出你的故事>>>我喜欢在东京热看苍井空 我喜欢在***看***
20、制作表格
循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
如果用户输入 q 或 Q,表示不再继续输入,将用户输入的内容以表格形式打印。
提示:涉及到的知识点:expandtabs、len、分片 [0:20] 及 while 循环等知识点。
以上是关于Python 基础之阶段测试的主要内容,如果未能解决你的问题,请参考以下文章