试卷全国计算机等级考试二级Python真题及解析(9)
- 格式:doc
- 大小:149.00 KB
- 文档页数:12
试卷全国计算机等级考试二级Python真题及解析(9)
一、选择题
1.下列有关于print命令的描述中,正确的是( )
A.在打印机里打印相关的文本或者数字等
B.可以用来画图
C.在屏幕中输出相应的文本或者数字等
D.执行语句print(“python”,3.7)时会出错
2.在python中,语句print(a,b)的意思是( )
A.打印a,b B.输出(a,b) C.输出a,b D.输出a,b的值
3.以下Python中变量的命名正确的是( )
A.1a=4
B.print=5
C._A=2
D.a+b=3
4.下列选项中,能作为python程序变量名的是( )
A.s%1 B.3stu C.while D.dist
5.在Python中,“print(100-33*5%3)”语句输出的是( )
A.34 B.67 C.100 D.1
6.在Python中,已知a=3,b=5,运行下列程序段后,a和b的值为
a = a * b
b = a // b
a = a // b
A.a=3 b=5 B.a=15 b=3 C.a=5 b=5 D.a=5 b=3
7.在python中,想输出一行文字,要用到的函数是( )。
A.input() B.int() C.print() D.float()
8.下列选项中,属于Python输出函数的是( )。
A.random() B.print() C.sqrt() D.input()
9.下列Python程序运行后的输出结果是( )。
s=0
for i in range(1,5):
s=s+i
print("s=",s)
A.s=5 B.s=6 C.s=10 D.s=15
10.已知列表list1=[10,66,27,33,23],则python表达式max(list1)的值为( )
A.10 B.66 C.5 D.23
11.在python中,运行以下程序,结果应为( )
a=5
b=7
b+=3 a=b*20
a+=2
a=a%b
print(a,b)
A.5 7 B.20 10 C.22 7 D.2 10
12.下面Python代码运行后,a、b的值为( )
a=23
b=int(a/10)
a= a-b * 10
print(a,b)
A.23 2 B.3 2 C.3 20 D.2 3
13.关于python程序设计语言,下列说法不正确的是( )
A.python是一种解释型、面向对象的计算机程序设计语言
B.python支持Windows操作系统,但不支持Linux系统
C.python源文件以***.py为扩展名
D.python文件不能直接在命令行中运行
14.下列可以作为python变量名的是( )
A.5x B.x-1 C.if D.x_1
15.下列语言中( )不属于高级语言
A.python B.VC C.JAVA D.汇编语言
二、程序填空
16.某企业开展“运动打卡 动动有奖”活动:若员工在本月累计运动时间30小时以下,奖励0元;达到30但不足45小时奖励300元;达到45但不足60小时奖励450元;60小时及以上奖励500元。小强用python编写程序实现相关功能:输入某员工本月累计运动时间(时),输出其能获得的奖励金额。
(1)实现上述功能的程序如下,请在划线处填入合适的代码。
t=int(input(“请输入您本月累计运动时间(时):”))
if t<0:
print(“输入错误”)
else:
if t<30:
①_
elif t<45:
m=300
②_____
m=450
else:
m=500
print(“您的奖励是:”,m)
(2)当输入“-1”时,输出信息为_________(选填,填字母:A.输入错误 / B.您的奖励是:0 / C.您的奖励是:500)
17.阅读程序。观察使用随机数求解百钱白鸡问题的代码并回答问题。
百千白鸡问题是经典的数学问题,原题为“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?”翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
import random
while True:
x=random.randrange(0,20)
y=random.randrange(0,33)
z=random.randrange(0,100)
if 5*x+3*y+z/3==100 and x+y+z==100:
print('公鸡',x)
print('母鸡',y)
print('小鸡',z)
(1)Python中导入库文件的命令是________。
(2)random.randrange(0,20)生成的随机数的范围是_________ 。
(3)如果不想写类似random.randrange(0,20)这么长的句子,可以修改程序中的第一行为
________
(4)while True 的作用是______ 。
(5)如果while True造成程序无法停止,我们可以在程序中添加一行 _________。
18.某种数据加密方法描述如下(加密前数据是ASCII字符):
●以8个数据为一段,将n个待加密数据依次分割成若干个数据段,剩余数据(个数小于8)为独立数据段。
●数据加密规则:数据个数等于8的数据段,对各个字符进行位置变换;数据个数小于8的数据段,不进行位置变换。
位置变换:用位置变换密钥数组c,将数据段每个字符进行位置变换,方法如下:
加密后某数据段的第i个元素=对应原数据段的第c(i)个元素,其中i=1,2,……,8。
数值变换:位置变换后,依次取出各个字符进行数值变换:把该字符的ASCII码转二进制,然后与密钥m对应的二进制数(m为1到255之间的整数)按位异或运算。异或运算(⊕)规则:如果a、b两个值不相同,则a⊕b结果为1;如果a、b两个值相同,则a⊕b结果为0,即:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0。
●把上述处理的得到二进制数依次拼接,即构成最后的加密数据例如,待加密数据为“python3.50”,数组c各元素的值依次是 数组c 3 6 1 5 2 8 4 7
则数据位置变换如下:
如值变换密钥m为35(二进制表示是00100011),则字符“t”(ASCII码值是116,二进制表示是010100)的数值变换过程如下:
变换前 0 1 1 1 0 1 0 0
密钥m 0 0 1 0 0 0 1 1
变换后 0 1 0 1 0 1 1 1
(1)已知“A”的ASCII码值是65,m=35,则“A”数值变换后的结果是_______(填二进制数据)。
(2)小李根据上述算法,设计了一个数据加密程序,其VB代码如下,请在划线处填入合适的代码。
Const n = 1024
Dim c(1 To 8) As Integer
Private Sub Form _ Load()
‘产生位置变换密钥数组c,代码略
End Sub
Function convert(c As Integer)As String
‘程序功能:把整数c转成8位二进制数,代码略
End Function
Private Sub Command1_Click()
Dim s As String,st As String,ss As String,res As String
Dim i As Integer,j As Integer start As Integer
Dim a(1 To n) As String,b(1 To n) As String
s = Text1. Text
st = convert(Val(Text2. Text))
For i = 1 To Len(s)
a(i) = Mid(s,i,1)
Next i
i = 1:start = -8
Do While①________
If i Mod 8 = 1 Then start = start + 8
b(i)=②_______ i = i + 1
Loop
For j = i To Len(s)
b(j) = a(j)
Next j
For i = 1 To Len(s)
③________
For j = 1 To 8
If Mid(ss,j,1)= Mid(st,j,1)Then
res = res + "0" Else res = res + "1"
'按位异或
Next j
Next i
Text3. Text = res
End Sub
19.程序设计:键盘输入任意的正整数,程序输出与其相应的二进制数。
代码如下:
n=int(input("请输入一个十进制数:"))
result=[]
while n>0:
result.append( ① )
n= ②
result.reverse()
for i in result:
print(i,end=”)
(1)程序代码中①处正确的代码是(_______)。
A.n%2 B.n/2 C.n//2 D.n*2
(2)程序代码中②处可能的代码是(_______)。
A.n%2 B.n/2 C.n//2 D.n*2
20.程序分析题
学校举行校园歌手大赛,评委由6人组成。评分方法:去掉一个最高分和一 个最低分,计算其余4位评委的平均分,作为选手的最终得分。max记录最高分; min记录最低分; s记录六位评委的总分; aver记录最终得分。