计算机二级python历年真题和答案(计算机二级python历年真题和答
计算机二级python考试内容
一、 Python 语言基本语法元素
1.程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值 语句、引用。
2.基本输入输出函数:input()、eval()、print()。
3.源程序的书写风格。
4.Python 语言的特点。
二、 基本数据类型
1. 数字类型:整数类型、浮点数类型和复数类型。
2. 数字类型的运算:数值运算操作符、数值运算函数。
3. 字符串类型及格式化:索引、切片、基本的 format()格式化方法。
4. 字符串类型的操作:字符串操作符、处理函数和处理方法。
5. 类型判断和类型间转换。
三、 程序的控制结构
1. 程序的三种控制结构。
2. 程序的分支结构:单分支结构、二分支结构、多分支结构。
3. 程序的循环结构:遍历循环、无限循环、break 和 continue 循环控制。
4. 程序的异常处理:try-except。
四、 函数和代码复用
1. 函数的定义和使用。
2. 函数的参数传递:可选参数传递、参数名称传递、函数的返回值。
3. 变量的作用域:局部变量和全局变量。
五、 组合数据类型
1. 组合数据类型的基本概念。
2. 列表类型:定义、索引、切片。
3. 列表类型的操作:列表的操作函数、列表的操作方法。
4. 字典类型:定义、索引。
5. 字典类型的操作:字典的操作函数、字典的操作方法。
六、 文件和数据格式化
1. 文件的使用:文件打开、读写和关闭。
2. 数据组织的维度:一维数据和二维数据。
3. 一维数据的处理:表示、存储和处理。
4. 二维数据的处理:表示、存储和处理。
5. 采用 CSV 格式对一二维数据文件的读写。
40道python二级考试真题火爆互联网,完整版答案解析为你保驾护航
1.以下关于程序设计语言的描述,错误的选项是:
A Python语言是一种脚本编程语言
B 汇编语言是直接操作计算机硬件的编程语言
C 程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段
D 编译和解释的区别是一次性翻译程序还是每次执行时都要翻译程序
正确答案: C
2.表达式 1001 == 0x3e7 的结果是:
A false
B False
C true
D True
正确答案: B
3.以下选项,不是Python保留字的选项是:
A del
B pass
C not
D string
正确答案: D
4.表达式 eval(‘500/10’) 的结果是:
A ‘500/10’
B 500/10
C 50
D 50.0
正确答案: D
5.表达式 type(eval(‘45’)) 的结果是:
A
B
C None
D
正确答案: D
6.表达式 pmod(20,3) 的结果是:
A 6, 2
B 6
C 2
D (6, 2)
正确答案: D
7.以下关于字符串类型的操作的描述,错误的是:
A str.replace(x,y)方法把字符串str中所有的x子串都替换成y
B 想把一个字符串str所有的字符都大写,用str.upper()
C 想获取字符串str的长度,用字符串处理函数 str.len()
D 设 x = ’aa’ ,则执行x*3的结果是‘aaaaaa’
正确答案: C
8.设 str = ‘python’,想把字符串的第一个字母大写,其他字母还是小写,正确的选项是:
A print(str[0].upper()+str[1:])
B print(str[1].upper()+str[-1:1])
C print(str[0].upper()+str[1:-1])
D print(str[1].upper()+str[2:])
正确答案: A
9.以下选项,不属于程序流程图基本元素的是:
A 循环框
B 连接点
C 判断框
D 起始框
正确答案: A
10.以下关于循环结构的描述,错误的是:
A 遍历循环使用for in 语句,其中循环结构不能是文件
B 使用range()函数可以指定for循环的次数
C for i in range(5)表示循环5次,i的值是从0到4
D 用字符串做循环结构的时候,循环的次数是字符串的长度
正确答案: A
11.执行以下程序,输入”93python22”,输出结果是:
A python9322
B python
C 93python22
D 9322
正确答案: C
A la
B 请输入整数
C pythonpython
D python
正确答案: C
A 2
B 请输入q退出:
C 3
D 1
正确答案: A
14.以下程序的输出结果是:
A 0
B 2
C UnboundLocalError
D 5
正确答案: A
A 18 None
B 10 18
C UnboundLocalError
D 18 18
正确答案: B
def test( b = 2, a = 4):
global z
z += a * b
return z
z = 10
print(test(),z)
18,18
17.以下程序的输出结果是:
A 22.0 None
B 10 None
C 22 None
D 10.0 22.0
正确答案: B
18.以下表达式,正确定义了一个集合数据对象的是:
A x = { 200, ’flg’, 20.3}
B x = ( 200, ’flg’, 20.3)
C x = [ 200, ’flg’, 20.3 ]
D x = {‘flg’ : 20.3}
正确答案: A
19.以下程序的输出结果是:
A [‘z’, ‘j’, ‘s’, ‘y’]
B [‘j’, ‘s’, ‘y’, ‘z’]
C [‘j’, ‘z’, ‘z’, ‘s’, ‘z’, ‘y’, ‘j’]
D [‘j’, ‘j’, ‘s’, ‘y’, ‘z’, ‘z’, ‘z’]
正确答案: B
20.以下程序的输出结果是:
A htslbht
B hlbst
C tsblh
D hhlstt
正确答案: B
21.已知id(ls1) = 4404896968,以下程序的输出结果是:
A 4404896968 4404896904
B 4404896904 4404896968
C 4404896968 4404896968
D 4404896904 4404896904
正确答案: A
A [‘300’,‘200’,‘400’]
B [‘shandong’, ‘hebei’, ‘beijing’]
C [300,200,400]
D ‘shandong’, ‘hebei’, ‘beijing’
正确答案: B
23.以下关于文件的描述,错误的是:
A 二进制文件和文本文件的操作步骤都是“打开-操作-关闭”
B open() 打开文件之后,文件的内容并没有在内存中
C open()只能打开一个已经存在的文件
D 文件读写之后,要调用close()才能确保文件被保存在磁盘中了
正确答案: C
24.以下程序输出到文件text.csv里的结果是:
A [90,87,93]
B 90,87,93
C ‘[90,87,93]’
D ‘90,87,93’
正确答案: B
25.以下程序的输出结果是:
A ( [1,2,3,4,5])
B [12, 34, 56, 78]
C ([12, 34, 56, 78])
D [1,2,3,4,5]
正确答案: B
26.以下关于数据维度的描述,错误的是:
A 采用列表表示一维数据,不同数据类型的元素是可以的
B JSON格式可以表示比二维数据还复杂的高维数据
C 二维数据可以看成是一维数据的组合形式
D 字典不可以表示二维以上的高维数据
正确答案: D
27.以下不属于Python的pip工具命令的选项是:
A show
B install
C download
D get
正确答案: D
29.以下不是程序输出结果的选项是:
A [12, 78, 56, 34]
B [56, 12, 78, 34]
C [12, 34, 56, 78]
D [12, 78, 34, 56]
正确答案: C
30.以下关于turtle库的描述,正确的是:
A 在import turtle之后就可以用circle()语句,来画一个圆圈
B 要用from turtle import turtle来导入所有的库函数
C home() 函数设置当前画笔位置到原点,朝向东
D seth(x) 是setheading(x)函数的别名,让画笔向前移动x
正确答案: C
31.一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用
A 栈
B 堆
C 链表
D 数组
正确答案: A
因为函数调用是能过将关键寄存器压栈保护现场;在函数返回时,弹栈恢复现场来完成的。
而递归调用说白了就是自已调用自己。也就是不停的上演pop, push的栈操作。
系统为什么选用栈来实现函数间的调用呢?我觉的主要原因如下:
对于频繁的调用操作过程中,栈的pop,push操作最简洁,快速。硬件级(或者理解成汇编级也行)支持栈操作。所以用栈最高效,快速。如果用堆、数组、链表,不光要维护很多功能辅助性数据,算法也很麻烦。这样会大大降低计算机的使用效率。
32.下列叙述中正确的是
A 一个算法的空间复杂度大,则其时间复杂度必定小
B 一个算法的空间复杂度大,则其时间复杂度也必定大
C 算法的时间复杂度与空间复杂度没有直接关系
D 一个算法的时间复杂度大,则其空间复杂度必定小
正确答案: C
34.软件开发离不开系统环境资源的支持,其中必要的测试数据属于
A 辅助资源
B 硬件资源
C 通信资源
D 支持软件
正确答案: A
35.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
A 错误推测法
B 白箱测试法
C 黑箱测试法
D 安装测试法
正确答案: C
37.下列有关数据库的描述,正确的是
A 数据库是一个关系
B 数据库是一个DBF文件
C 数据库是一个结构化的数据集合
D 数据库是一组文件
正确答案: C
38.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和
A 可重用性差
B 冗余性
C 非持久性
D 安全性差
正确答案: B
39.软件开发的结构化生命周期方法将软件生命周期划分成
A 定义、开发、运行维护
B 设计阶段、编程阶段、测试阶段
C 总体设计、详细设计、编程调试
D 需求分析、功能定义、系统设计
正确答案: A
40.下列不属于结构化分析的常用工具的是
A 判定树
B 数据字典
C 数据流图
D PAD图
正确答案: C
请问大佬们这道题如何做?计算机二级python
d.items():是一个列表,由d字典的键、值组成的元组组成,如下:
[('Chen',?90),?('Wang',?78),?('Zhang',?87),?('Zhao',?91),?('Zi',?65),?('Feng',?83)]
sorted是排序函数,在这道题里则是对d.items()进行排序,也就是上面的列表排序,
因为有参数key,所以需要按照key的条件排序。key=lambda?d:?d[1]?在这里相当于获取到d.items()的所有索引为1的值,即获取:90,?78,?87,?91,?65,?83,然后按照这些数排序。
默认是从小到大排序,因为有参数reverse=True,所以从大到小倒序排序,最终生成列表:
lst?=?[('Zhao',?91),?('Chen',?90),?('Zhang',?87),?('Feng',?83),?('Wang',?78),?('Zi',?65)]
print(lst[0][0])则是获取列表第一个元组的第一个元素,即:'Zhao'
全国计算机等级考试二级教程2019年版——Python语言程序设计(参考答案)
答案:C B B C A D B A D B
1.获得用户输入的一个整数N,计算并输出N的32次方。
2.获得用户输入的一段文字,将这段文字进行垂直输出。
3.获得用户输入的一个合法算式,例如1.2+3.4,输出运算结果。
4.获得用户输入的一个小数,提取并输出其整数部分。
5.获得用户输入的一个整数N,计算并输出1到N相加的和。
答案:C A A A B A C D A C
1.获得用户输入的一个整数,输出该整数百位及以上的数字。
2.获得用户输入的一个字符串,将字符串按照空格分割,然后逐行打印出来。
3.程序读入一个表示星期几的数字(1-7),输出对应的星期字符串名称。例如,输入3,返回“星期三”。
4.设n是一任意自然数,如果n的各位数字反向排列所得自然数与n相等,则n被称为回文数。从键盘输入一个5位数字,请编写程序判断这个数字是不是回文数。
5.输入一个十进制整数,分别输出其二进制、八进制、十六进制字符串。
答案:B A D C D D C A C D
1.输入一个年份,输出是否是闰年。#闰年条件:能被4整除但不能被100整除,或者能被400整除的年份,都是闰年。
2.最大公约数计算。获得两个整数,求出这两个整数的最大公约数和最小公倍数。最大公约数的计算一般使用辗转相除法,最小公倍数则使用两个数的乘积除以最大公约数。
3.统计不同字符个数。用户从键盘键入一行字符,编写一个程序,统计并输出其中英文字符、数字、空格和其他字符的个数。
4.改编题目1中的程序,当用户输入出错时给出“输入内容必须是整数!”的提示,并让用户重新输入。
5.羊车门问题。有三扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门。在开启它之前,主持人会开启另外一扇门,露出门后的山羊。此时,允许参赛者更换自己的选择。请问,参赛者更换选择后能否增加猜中汽车的机会?——这是一个经典问题。请使用random库对这个随机事件进行预测,分别输出参赛者改变选择和坚持选择获胜的概率。
答案:B B B B A D D A D D
Tips:
2.字典类型的key只能是不可变数据类型;
3.Python中以下情况判断为False:
(1)None–None值
(2)False–False值
(3)0 --- 数值零不管它是int,float还是complex类型
(4)‘’,(),[] --- 任何一个空的序列
(5){} --- 空的集合。
9.列表类型的pop(i)方法,如果不指定参数 i,则默认取出并删除列表中最后一个元素
1.英文字符频率统计。编写一个程序,对给定字符串中出现的a~z字母频率进行分析,忽略大小写,采用降序方式输出。
2.中文字符频率统计。编写一个程序,对给定字符串中出现的全部字符(含中文字符)频率进行分析,采用降序方式输出。
3.随机密码生成。编写程序,在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。
4.重复元素判定。编写一个函数,接受列表作为参数,如果一个元素在列表中出现了不止一次,则返回True,但不要改变原来列表的值。同时编写调用这个函数和输出测试结果的程序。
5.重复元素判定续。利用集合的无重复性改编上一个程序,获得一个更快更简洁的版本。
计算机二级python考试题型
计算机二级python的考试题型有单项选择题、基本编程题、简单应用题和综合应用题四个模块,分值分别为40分,18分,24分和18分,及格分数为60分,每一场考试有3套题,一般为随机分配。
1、单项选择题
(1)1~10题主要考察公共基础知识,即教材上的概念(我们那时教python时有配套的课本,考二级的时候概念题基本在这上面都能找到答案);
(2)11~40题考查python相关内容,基本上教材上教的算法都会考到,具体有列表,集合、保留字、第三方库等,题目难易都有,且同一套题不同考生的题目顺序也不一样。
2、基本编程题
该部分为填空题,考生需要根据给出的程序框架把内容补充完整,并且我们当时考试的时候是可以切换到python编码页面进行验算的,这一模块只要好好学基本上都能填对。
3、简单运用题
这一模块有两道题,其中一道为turtle(三套题都有考),以补全代码的形式出现,即在不修改系统给出的代码的情况下将代码补齐,另一道不同套卷考察的内容不同,我那时候考察的是函数。
4、综合应用题
一般是文件管理,分词排序、文件读写等,相比起前面的题目会有些难度。
总结:其实python二级考试内容并不难,总体上通过率还是很高的,通过后会有合格和优秀之分,想要达到优秀会有一定难度。