全国等级考试Python二级
缘起:Python二级与2018年9月首次开考,与2016-至今大火,加入pythoner行列的人越来越多,学生学Python,二级是一个很好检验标准。作为一名大学生自学过一段时间的Python,计算机等级考试加入了Python语言,可以报名试试,对于数据时代的大学生还是有一定的能力提升的,我们旨在让新手了解Python二级考试试卷结构,以及一些经典的考试题目(详细请查看www.Python123.io平台,Python二级的专属网站)
试卷结构
选择题40道(40分,其中10分为公共基础知识),基础操作题3道(15分,一道5分),简单应用题2道(1道10分,一道15分),综合应用题1道(20分)
基本要求
掌握 Python 语言的基本语法规则。
掌握不少于 2 个基本的 Python 标准库。
掌握不少于 2 个 Python 第三方库,掌握获取并安装第三方库的方法。
能够阅读和分析 Python 程序。
熟练使用 IDLE 开发环境,能够将脚本程序转变为可执行程序。
了解 Python 计算生态在以下方面(不限于)的主要第三方库名称:网络爬虫、数据分析、数据可视化、机器学习、Web 开发等。
考试内容
一、 Python 语言基本语法元素
程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值语句、引用。
基本输入输出函数:input()、eval()、print()
源程序的书写风格。
Python 语言的特点。
二、基本数据类型
数字类型:整数类型、浮点数类型和复数类型。
数字类型的运算:数值运算操作符、数值运算函数。
字符串类型及格式化:索引、切片、基本的 format() 格式化方法。
字符串类型的操作:字符串操作符、处理函数和处理方法。
类型判断和类型间转换。
三、 程序的控制结构
程序的三种控制结构。
程序的分支结构:单分支结构、二分支结构、多分支结构。
程序的循环结构:遍历循环、无限循环、break 和 continue 循环控制。
程序的异常处理:try-except。
四、 函数和代码复用
函数的定义和使用。
函数的参数传递:可选参数传递、参数名称传递、函数的返回值。
变量的作用域:局部变量和全局变量
五、 组合数据类型
组合数据类型的基本概念。
列表类型:定义、索引、切片。
列表类型的操作:列表的操作函数、列表的操作方法。
字典类型:定义、索引。
字典类型的操作:字典的操作函数、字典的操作方法。
六、 文件和数据格式化
文件的使用:文件打开、读写和关闭。
数据组织的维度:一维数据和二维数据。
一维数据的处理:表示、存储和处理。
二维数据的处理:表示、存储和处理。
采用 CSV 格式对一二维数据文件的读写。
七、Python 计算生态
标准库:turtle 库(必选)、random 库(必选) 、time 库(可选)。
基本的 Python 内置函数。
第三方库的获取和安装。
脚本程序转变为可执行程序的第三方库:PyInstaller 库(必选)。
第三方库:jieba 库(必选)、wordcloud 库(可选)。
更广泛的 Python 计算生态,只要求了解第三方库的名称,不限于以下领域:网络爬虫、数据分析、文本处理、数据可视化、用户图形界面、机器学习、Web 开发、游戏开发等。
考试环境 Windows 7 操作系统,建议 Python 3.4.2 至 Python 3.5.3 版本,IDLE 开发环境。
分享一套试题
做做看,试试你能对几道
一、单项选择题
1. 关于数据的存储结构,以下选项描述正确的是
存储在外存中的数据
数据所占的存储空间量
数据在计算机中的顺序存储方式
数据的逻辑结构在计算机中的表示
2. 关于线性链表的描述,以下选项中正确的是
存储空间不一定连续,且各元素的存储顺序是任意的
存储空间不一定连续,且前件元素一定存储在后件元素的前面
存储空间必须连续,且前件元素一定存储在后件元素的前面
存储空间必须连续,且各元素的存储顺序是任意的
3. 在深度为 7 的满二叉树中,叶子结点的总个数是
32
31
64
63
4. 关于结构化程序设计所要求的基本结构,以下选项中描述错误的是
顺序结构
重复(循环)结构
选择(分支)结构
goto 跳转
5. 关于面向对象的继承,以下选项中描述正确的是
继承是指一个对象具有另一个对象的性质
继承是指一组对象所具有的相似性质
继承是指类之间共享属性和操作的机制
继承是指各对象之间的共同性质
6. 关于软件危机,以下选项中描述错误的是
软件开发生产率低
软件成本不断提高
软件质量难以控制
软件过程不规范
7. 关于软件测试,以下选项中描述正确的是
软件测试的主要目的是发现程序中的错误
软件测试的主要目的是确定程序中错误的位置
为了提高软件测试的效率,最好由程序编制者自己来完成软件的测试工作
软件测试是证明软件没有错误
8. 以下选项中用树形结构表示实体之间联系的模型是
关系模型
网状模型
层次模型
静态模型
9. 设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程(课号,课程名),选课SC(学号,课号,成绩),表SC的关键字(键或码)是
课号,成绩
学号,成绩
学号,课号
学号,姓名,成绩
10.
设有如下关系表:
以下选项中正确地描述了关系表 R、S、T 之间关系的是
T=R∩S
T=R∪S
T=R×S
T=R–S
11. 关于 Python 程序格式框架的描述,以下选项中错误的是
Python 语言不采用严格的“缩进”来表明程序的格式框架
Python 语言的缩进可以采用 Tab 键实现
Python 单层缩进代码属于之前最邻近的一行非缩进代码,多层缩进代码根据缩进关系决定所属范围
判断、循环、函数等语法形式能够通过缩进包含一批 Python 代码,进而表达对应的语义
12. 以下选项中不符合 Python 语言变量命名规则的是
TempStr
I
3_1
_AI
13. 以下关于 Python 字符串的描述中,错误的是
字符串是用一对双引号" "或者单引号' '括起来的零个或者多个字符
字符串是字符的序列,可以按照单个字符或者字符片段进行索引
字符串包括两种序号体系:正向递增和反向递减
Python 字符串提供区间访问方式,采用 [N:M] 格式,表示字符串中从 N 到 M 的索引子字符串(包含 N 和 M)
14. 关于 Python 语言的注释,以下选项中描述错误的是
Python 语言有两种注释方式:单行注释和多行注释
Python 语言的单行注释以#开头
Python 语言的单行注释以单引号 ' 开头
Python 语言的多行注释以 ' ' '(三个单引号)开头和结尾
15. 关于 import 引用,以下选项中描述错误的是
import 保留字用于导入模块或者模块中的对象
使用 import turtle 引入turtle 库
可以使用 from turtle import setup 引入 turtle 库
使用 import turtle as t 引入 turtle 库,取别名为 t
16.
下面代码的输出结果是
x = 12.34
print(type(x))
<class 'complex'>
<class 'int'>
<class 'float'>
<class 'bool'>
17. 关于 Python 的复数类型,以下选项中描述错误的是
复数类型表示数学中的复数
复数的虚数部分通过后缀“J”或者“j”来表示
对于复数 z,可以用 z.real 获得它的实数部分
对于复数 z,可以用 z.imag 获得它的实数部分
18. 关于 Python 字符串,以下选项中描述错误的是
字符串可以保存在变量中,也可以单独存在
可以使用 datatype() 测试字符串的类型
输出带有引号的字符串,可以使用转义字符\
字符串是一个字符序列,字符串中的编号叫“索引”
19. 关于 Python 的分支结构,以下选项中描述错误的是
分支结构可以向已经执行过的语句部分跳转
分支结构使用 if 保留字
Python 中 if-else 语句用来形成二分支结构
Python 中 if-elif-else 语句描述多分支结构
20. 关于程序的异常处理,以下选项中描述错误的是
Python 通过 try、except 等保留字提供异常处理功能
程序异常发生经过妥善处理可以继续执行
异常语句可以与 else 和 finally 保留字配合使用
编程语言中的异常和错误是完全相同的概念
21. 关于函数,以下选项中描述错误的是
函数是一段具有特定功能的、可重用的语句组
函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可。
使用函数的主要目的是减低编程难度和代码重用
Python 使用 del 保留字定义一个函数
22. 关于 Python 组合数据类型,以下选项中描述错误的是
Python 组合数据类型能够将多个同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序、更容易
组合数据类型可以分为 3 类:序列类型、集合类型和映射类型
序列类型是二维元素向量,元素之间存在先后关系,通过序号访问
Python 的 str、tuple 和 list 类型都属于序列类型
23. 关于 Python 序列类型的通用操作符和函数,以下选项中描述错误的是
如果 x 是 s 的元素,x in s 返回 True
如果 x 不是 s 的元素,x not in s 返回 True
如果 s 是一个序列,s = [1,"kate",True],s[3] 返回 True
如果 s 是一个序列,s = [1,"kate",True],s[–1] 返回 True
24. 关于 Python 对文件的处理,以下选项中描述错误的是
Python 能够以文本和二进制两种方式处理文件
Python 通过解释器内置的 open() 函数打开一个文件
当文件以文本方式打开时,读写按照字节流方式
文件使用结束后要用 close() 方法关闭,释放文件的使用授权
25. 以下选项中不是 Python 对文件的写操作方法的是
write
writelines
write 和 seek
writetext
26. 关于数据组织的维度,以下选项中描述错误的是
数据组织存在维度,字典类型用于表示一维和二维数据
一维数据采用线性方式组织,对应于数学中的数组和集合等概念
二维数据采用表格方式组织,对应于数学中的矩阵
高维数据有键值对类型的数据构成,采用对象方式组织
27. 以下选项中不是 Python 语言的保留字的是
while
except
do
pass
28. 以下选项中是 Python 中文分词的第三方库的是
turtle
jieba
itchat
time
29. 以下选项中使 Python 脚本程序转变为可执行程序的第三方库的是
random
pygame
PyQt5
PyInstaller
30. 以下选项中不是 Python 数据分析的第三方库的是
requests
numpy
scipy
pandas
31.
下面代码的输出结果是
x = 0o1010print(x)
10
520
1024
32768
32.
下面代码的输出结果是
x=10y=3print(divmod(x,y))
(3, 1)
(1, 3)
3,1
1,3
33.
下面代码的输出结果是
for s in "HelloWorld":
if s=="W":
continue
print(s,end="")
Helloorld
Hello
World
HelloWorld
34.
给出如下代码:
DictColor = {"seashell":"海贝色","gold":"金色","pink":"粉红色","brown":"棕色", "purple":"紫色","tomato":"西红柿色"}
以下选项中能输出“海贝色”的是
print(DictColor["seashell"])
print(DictColor.keys())
print(DictColor["海贝色"])
print(DictColor.values())
35.
下面代码的输出结果是
s =["seashell","gold","pink","brown","purple","tomato"]
print(s[1:4:2])
['gold', 'brown']
['gold', 'pink', 'brown']
['gold', 'pink']
['gold', 'pink', 'brown', 'purple', 'tomato']
36.
下面代码的输出结果是
d ={"大海":"蓝色", "天空":"灰色", "大地":"黑色"}
print(d["大地"], d.get("大地", "黄色"))
黑色 黄色
黑的 灰色
黑色 黑色
黑色 蓝色
37.
当用户输入abc时,下面代码的输出结果是
try:
n = 0
n = input("请输入一个整数: ")
def pow10(n):
return n**10
except:
print("程序执行错误")
输出:程序执行错误
输出:abc
程序没有任何输出
输出:0
38.
下面代码的输出结果是
a = [[1,2,3], [4,5,6], [7,8,9]]
s = 0
for c in a:
for j in range(3):
s += c[j]
print(s)
24
0
45
以上答案都不对
39.
文件 book.txt 在当前程序所在目录内,其内容是一段文本:book,下面代码的输出结果是
txt = open("book.txt", "r")
print(txt)
txt.close()
book
book.txt
txt
以上答案都不对
40.
如果当前时间是 2018年5月1日10点10分9秒,则下面代码的输出结果是
import time
print(time.strftime("%Y=%m-%d@%H>%M>%S", time.gmtime()))
2018=5-1@10>10>9
2018=05-01@10>10>09
2018=5-1 10>10>9
True@True
标准答案,可以收藏方便后期使用
01-10 DACDC DACCD
11-20 ACDCC CDBAD
21-30 DCCCD ACBDA
31-40 BAAAA CCCDB
二、基本编程题
1、仅使用 Python 基本语法,即不使用任何模块,编写 Python 程序计算下列数学表达式的结果并输出,小数点后保留3位。
【答案】
x = pow((3**4 + 5*(6**7))/8, 0.5)
print("{:.3f}".format(x))
2、以中国共产党第十九次全国代表大会报告中一句话作为字符串变量 s,完善 Python 程序,分别用 Python 内置函数及 jieba 库中已有函数计算字符串 s 的中文字符个数及中文词语个数。注意,中文字符包含中文标点符号。(提交的代码应包括题目中给出的部分)
import jieba
s = "中国特色社会主义进入新时代,我国社会主要矛盾已经转化为人民日益增长的美好生活需要和不平衡不充分的发展之间的矛盾。"
n = ____①____
m = ____②____
print("中文字符数为{},中文词语数为{}。".format(n, m)),中文
【答案】
import jieba
s = "中国特色社会主义进入新时代,我国社会主要矛盾已经转化为\
人民日益增长的美好生活需要和不平衡不充分的发展之间的矛盾。"
n = len(s)
m = len(jieba.lcut(s))
print("中文字符数为{},中文词语数为{}。".format(n, m))
3、0x4DC0 是一个十六进制数,它对应的 Unicode 编码是中国古老的《易经》六十四卦的第一卦,请输出第 51 卦(震卦)对应的 Unicode 编码的二进制、十进制、八进制和十六进制格式。
print("二进制{____①____}、十进制{____②____}、八进制{____③____}、十六进制{____④____}".format(____⑤____))
【答案】
print("二进制{0:b}、十进制{0}、八进制{0:o}、十六进制{0:x}".\
format(0x4DC0 + 50))
三、简单应用题
1、使用 turtle 库的 turtle.fd() 函数和 turtle.seth() 函数绘制一个边长为 200 的正方形,效果如下图所示。请结合格式框架,补充横线处代码。
import turtle
d = 0
for i in range(____①____):
turtle.fd(____②____)
d = ____③____
turtle.seth(d)
【答案】
import turtle
d = 0
for i in range(4):
turtle.fd(200)
d = d + 90
turtle.seth(d)
seth 函数的说明
2、列表 ls 中存储了我国 39 所 985 高校所对应的学校类型,请以这个列表为数据变量,完善 Python 代码,统计输出各类型的数量。
ls = ["综合", "理工", "综合", "综合", "综合", "综合", "综合", "综合", "综合", "综合",\
"师范", "理工", "综合", "理工", "综合", "综合", "综合", "综合", "综合","理工",\
"理工", "理工", "理工", "师范", "综合", "农林", "理工", "综合", "理工", "理工", \
"理工", "综合", "理工", "综合", "综合", "理工", "农林", "民族", "军事"]
要求按以下顺序输出
综合:1
理工:2
师范:3
农林:4
民族:5
军事:6
【答案】
ls_new = []
for school in ls:
if school not in ls_new:
ls_new.append(school)
d = {}
i =1
for s in ls_new:
d[s] = i
i+=1
for k,v in d.items():
print(f"{k}:{v}")
四、综合应用题
《论语》是儒家学派的经典著作之一,主要记录了孔子及其弟子的言行。网络上有很多《论语》文本版本。这里给出了一个版本,文件名称为“论语-网络版.txt”,其内容采用如下格式组织:
【原文】
1.11子曰:“父在,观其(1)志;父没,观其行(2);三年(3)无改于父之道(4),可谓孝矣。”
【注释】
(略)
【译文】
(略)
【评析】
(略)
该版本通过【原文】标记《论语》原文内容,采用【注释】、【译文】和【评析】标记对原文的注释、译文和评析。
问题1:请编写程序,提取《论语》文档中所有原文内容,输出保存到“论语-提取版.txt”文件。输出文件格式要求:去掉文章中原文部分每行行首空格及如“1.11”等的数字标志,行尾无空格、无空行。参考格式如下(原文中括号及内部数字是对应源文件中注释项的标记):
子曰(1):“学(2)而时习(3)之,不亦说(4)乎?有朋(5)自远方来,不亦乐(6)乎?人不知(7),而不愠(8),不亦君子(9)乎?”
有子(1)曰:“其为人也孝弟(2),而好犯上者(3),鲜(4)矣;不好犯上,而好作乱者,未之有也(5)。君子务本(6),本立而道生(7)。孝弟也者,其为人之本与(8)?”
子曰:“巧言令色(1),鲜(2)仁矣。”
(略)
问题2:请编写程序,在“论语-提取版.txt”基础上,进一步去掉每行文字中所有括号及其内部数字,保存为“论文-原文.txt”文件。参考格式如下:
子曰:“学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知,而不愠,不亦君子乎?”
有子曰:“其为人也孝弟,而好犯上者,鲜矣;不好犯上,而好作乱者,未之有也。君子务本,本立而道生。孝弟也者,其为人之本与?”
子曰:巧言令色,鲜仁矣。”
(略)
后面我们会开发二级Python的视频课程,精确期待。