全国计算机等级考试二级 Python 真题及解析 2
一、选择题
1. 以下 Python 代码的运行结果是( )。
a = 3
b = 4
a = a * b
print(a)
A . 3
B . 4
C . 12
D . a*b
2. 在 Python 中,判断 n 是否为偶数的表达式是( )
A . n/2=0
B . n%2==0
C . n%2=0
D . n/2==0
3. 12 Python 语言语句块的标记是( )
A .分号
B .逗号
C .缩进
D ./
4. 在教科书中利用 Python 探究电流和电压、电阻的关系实验里,除了可以通过书中的
Jupyter Notebook 外,处理数据还可以通过下列( )工具实现。
A . Python IDLE
B . Xmind
C .网络画板
D .几何画板
5. 下列关于算法说法不正确的是( )
A .算法独立于任何具体的语言, Python 算法只能用 Python 语言来实现
B .解决问题的过程就是实现算法的过程
C .算法是程序设计的“灵魂”
D .算法可以通过编程来实现
6. 关于 python 程序设计语言,下列说法不正确的是( )
A . python 是一种解释型、面向对象的计算机程序设计语言
B . python 支持 Windows 操作系统,但不支持 Linux 系统
C . python 源文件以 ***.py 为扩展名
D . python 文件不能直接在命令行中运行
7. Python 使用函数( )接收用 输入的数据
A . accept()
B . input()
C . readline()
D . print()
8. 下列 Python 表达式中,能正确表示不等式方程 |x|>1 解的是( )
A . x>1 or x<-1
B . x>-1 or x<1
C . x>1 and x<-1
D . x>-1 and x<1
9. 以下选项中,不是 Python 中文件操作的相关函数是( )。
A . open ()
B . load ()
C . read ()
D . write ()
10. 在 Python 语言中,用来定义函数的关键字是( )。
A . return
B . def
C . function
D . import
11. 下列可以被计算机直接执行的程序是( )
A .机器语言程序
B .高级语言程序
C .汇编语言程序
D . Python 源程序
12 . Python 语言自带的 IDLE 环境的退出命令是( )
A . Esc
B . close
C .回车键
D . exit
13. 计算机能直接识别、理解执行的语言是( )
A .汇编语言
B . Python 语言
C .自然语言
D .机器语言
14 . python3 解释器执行 not 1 and 1 的结果为( )。
A . True
B . False
C . 0
D . 1
15. 有如下 Python 程序,当程序运行后输入 15000 ,则程序输出结果为( )
A . 2800
B . 2800.0
C . 12200
D . 12200.0
16. 下面 Python 代码运行后,a、b 的值为( )
a=23
b=int(a/10)
a=(a-b*10)*10
b=a+b
print(a,b)
A .23 2
B .30 20
C .30 32
D .3 2
17. 我们可以对文本中词频较高的分词,通过词云图给予视觉上的突出,小明打算用
Python 程序来生成词云图,程序中需要用到以下哪个第三方库?( )
A . WordCloud
B . math
C . random
D . turtle
18. 有关循环结构的说法不正确的是( )。
A .循环结构是算法的基本结构之一
B .有的的程序设计中没有循环结构
C .循环结构在程序设计有可能会有嵌套出现
D .在 PYTHON 程序设计语言中循环结构一般使用 IF 语句实现。
19. 以下文本框内是一段用 Python 程序设计语言编写的源代码,功能是输出 200 以内能被
17 整除的最大正整数。这段源代码属于( )。
A .软件
B .程序
C .指令
D .高级语言
20 . Python 中 变量 的命名 遵 循的 规 则,不正确的是 ( )
A . 必须 以字 母或 下 划线开头 ,后面可以是字 母 、数字 或 下 划线 。
B . 区 分大小写
C .不 区 分大小写
D .不能使用 保留 字
21. 小明 想 要通过编程来解决 由昆 明到 景东锦屏耗时 最 短 行程问题 时 ,最 核心 的工作是(
)
A .设计出解决问题的算法
B .设计出解决问题的 PPT
C .编写出 Python 代码
D .选择一种编程软件
22. 小 林同学想 要利用 Python 来编写一 道 程序,解决“ 1+2+3+……+100 ”这个问题, 那么
小 林同学 在编写程序的过程中可能会用到哪 些 语句( )
A . 赋 值语句
B .循环语句
C . 条 件语句
D .输出语句
23. 在 Python 程序中,要 求 s = 3 + 6 + 9 + … + 300 的值,可以 采 用如下代码,下列选项中
的说法不正确的是( )。
A . for 循环语句中 步长 为 3
B .语句 s = 0 应改 为 s = 1
C .语句 s = s + i 共 循环执行了 100 次
D .程序使用了循环结构
24. 若 用整型 变量 k 表示 某天 是 星期 几( 例 如 k=1 表示 该天 是 星期 一、 k=2 表示 该天 是 星期
二 …… k=7 表示 该天 是 星期天 ),则下列能 够 正确表示 k 的下一 天 是 星期 几的 python 表达
式为( )
A . k+1
B . k % 7 + 1
C . (k+1) %7
D . (k+1)%7-1
25. 以下文本框内是一段用 Python 程序设计语言编写的源代码,功能是输出 200 以内能被
17 整除的最大正整数。这段源代码属于( )。
A .程序
B .软件
C .指令
D .命令
26. 解释 性 语言是指源代码不要 求预先 进行编 译 ,在运行 时才 进行解释 再 运行,以下哪一
种程序设计语言属于解释 性 语言(
)。
A . Python
B . C++
C . VB
D . C
27. 在 Python 中 常 用的输入输出语句分别是( )
A . input() output()
B . input() print()
C . input() printf()
D . scandf() printf()
28. 有如下 VB 程序段 :
s1 = "python": s2 = "visual"
i = 1: j = 1: s = ""
Do While i <= Len(s1) And j <= Len(s2)
If Mid(s1, i, 1) >= Mid(s2, j, 1) Then
s = s + Mid(s1, i, 1)
Else
j = j + 1
End If
i = i + 1
Loop
执行 该 程序后, j 的值是( )
A .2
B .3
C . 5
D . 7
29. 下列 python 表达式中, 值为字 符串类 型的是( )
① Abs ( x ) ② “ abc ” *3 ③ “ 123+45 ” ④ 123+45 ⑤ a=input(“ 请 输入 a 的值 : ” )
A . ①③⑤
B . ②④⑤
C . ①②③
D . ②③⑤
30. 在下列程序设计语言中,属于 人 工 智 能语言的是( )。
A . Python
B . VB
C . Pascal
D . C
二、程序填空
31. 编写 Python 程序实现如下功能 : 输入 年月日 ,输入 格 式如“ 2021 - 06 - 21 ”, 年月日 之
间 用“-”分 隔 。判断这一 天 是这一 年 的第几 天 。以 2021 - 06 - 21 为 例 , 前 面 5 个 月总天 数,
加 上 21 天即 这一 天 是本 年 的第几 天 。 特殊情况 ,当输入的 年份 是 闰年时 , 2 月份 有 29 天 。
闰年 的判断方式如下 :
I 、能被 4 整除,但不能被 100 整除 ;
II 、能被 400 整除 ;
( 1 )“ 2020 - 05 - 20 ”这一 天 是这一 年 的第 _________ 天 。
( 2 )编写 Python 代码如下,在 划线 处 填 入正确的代码
_________________
_________________
_________________
( 3 ) 加 框处的代码有 误 , 请改 正。
改 正 : _________________
mon=[31, 28, 31, 30, 31, 30,31, 31, 30, 31, 30,31] #mon 中 存储 1 - 12 每 个 月 的 天 数
s=input(" 请 输入 年月日 : ")
'month=int(s[5:7])
①
sum=0
for i in range( ②
):
sum+=mon[i]
sum+=day
if
:
isleap=True
else:
isleap=False
if
③
sum+=1
print(" 这一 天 是当 年 的第 " +str (sum)+'' 天 '')
32. 若两 个 素 数之 差 为 2 ,则 该 对 素 数 称 为 双胞胎 数,如 3 , 5 就是一对 双胞胎 数。编写
python 程序,实现如下功能 : 输入 n 的值,统计 显 示 n 以内的 所 有 双胞胎 数。程序运行 界
面如图 所 示 :
实现上 述 功能的程序如下, 请 在 划线 处 填 入 合适 的代码。
def isprime ( x ) :
for i in range ( 2 , x ) :
if①__________ :
return False
return True
n=int ( input (“ 请 输入一个正整数 n : ”))
c=0
k=3
while k<=n-2 :
if isprime ( k ) and②___________ :
print ( k , k+2 )
③___________
k=k+1
print (“ 共 有” +str ( c ) + “对 双胞胎 数”)
33. 现 今信息化时 代, 信息 的 传 输 十 分 迅速 , 足 不出 户便知天 下 事 。 许多社交平台都 有设
置 本 平台 的 热点排 行 榜 ,方 便 用 户 了解正在 发 生的 热门事 件。但 社交平台 数 量众多 , 平台
用 户 种 类 和数 量也 大不相 同 , 导致 不 同平台热点 的实 际热度 大小 也 不 同 。小 钟 为了确 保 自
己知道 的 热点 是真正的 热点 ,于是打算用功能 强 大的 python 把各 个 平台 的 热点排 行 榜 进行
合并 , 形 成自 己 的 热点排 行 榜 。
为了 热点 之 间比 较方 便 ,小 钟 设 置 了一个 热度 值来 衡量 一个 热点 的 热度 大小,
热度 值 越 大说明这个 热点 的 热度越 高。现在小 钟已经获得 了如下 两 个 平台 的 热
度 值 从 小到大的 排 行 榜 ,正当 他 打算 将 之 合并 为一个 从 小到大的 排 行 榜时 , 却
被 老师叫走 了。于是 他 决定 把 这个小功能 交 给 他 的 好朋友——你 来实现, 你想
到 2 种算法, 请把 下列程序 填 写 完 整。
A
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
11
66
116
329
438
582
652
714
756
925
B
E10
E9
E8
E7
E6
E5
E4
E3
E2
E1
35
116
215
271
309
428
576
772
806
950
Python 程序如下 :
A= [11 , 66 , 116 , 329 , 438 , 582 , 652 , 714 , 756 , 925]
B = [35 , 116 , 215 , 271 , (
5 )
__ , 428 , 576 , 772 , 806 , 950]
算法一 :
myRank =
i = 0
j = 0
while (i < len(A) and j < len(B)):
if (A[i] < B[j]):
(6)______
i += 1
else:
myRank.append(B[j])
j += 1
while (i < len(A)):
myRank.append(A[i])
i += 1
else:
while ((7)______):
myRank.append(B[j])
j += 1
print(myRank)
算法二 :
myRank = [0]*(len(A)+len(B))
i = 0
j = 0
k = 0
while ((8)_____):
k = i+j
if (i >= len(A)):
myRank[k] = B[j]
j += 1
elif (j >= len(B)):
myRank[k] = A[i]
i += 1
elif ((9)_____):
myRank[k] = A[i]
i += 1
else:
myRank[k] = B[j]
j += 1
print(myRank)
34. 某品牌手 机第一 年销量 为 20000 台 , 假 设 平均每年 的 销量比 上一 年增加 68% , 请 问几
年 后能使 总销量 达到 60000 台 。下面的程序能实现上 述 的功能, 请将缺失 的代码 补充完 整。
total= every_year=20000
year=1
while __________________ :
every_year + = ____________
total + = every_year
year + = 1
print(year)
35. 有如下程序段 :
sum=0
for i in range(1,20,3) :
sum+=i
print(“sum=”,sum)
(1) 循环 变量 i 的 初 值为 : _________ , 终 值为 : _________ , 步长 为 : __________ 。
(2) 该 程序执行后,输出的结果为 : ____________________ 。
36. 完善 程序实现以下功能 并保存 。
输入一 元 二 次 方程的系数 a,b, c 的值, 求 解一 元 二 次 方程 a x 2 +b x + c =0(a ≠ 0)
#请 不要 更改 源程序的结构, 删 除 原 题里的 ① 、 ② 。 填 写正确的代码,使程序 完善
i m port m ath
a= fl oat(inp u t( "请 输入方程系数 a( ! =0) :" ))
b= fl oat(inp u t( "请 输入方程系数 b :" ))
c = fl oat(inp u t( "请 输入方程系数 c:" ))
del ta=b*b-4*a* c
i f del ta > ________ :
x 1=(-b+ m ath .sq rt( del ta))/(2*a)
x2=(-b-math.sqrt(delta))/(2*a)
print(" 方程有 两 个不 同 的解 " , x1 , x2)