试卷全国计算机等级考试二级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记录最终得分。