资源描述
【编程】python二级模拟卷2练习
一、选择题
1.在Python中,表达跳出循环函数是( )
A.continue B.break C.ESC D.Close
2.算法用Python程序实现,如下代码中哪处语句存在语法错误( )
A. B. C. D.
3.( ) 不是程序设计高级语言。
A.Python
B.Basic
C.C++
D.伪代码
4.下列选项中,可以作为 Python程序变量名是( )
A.a/b B.ab C.a+b D.a-b
5.数据分析处理工具错误( )
A.Access B..Excel C.python D.SQL
6.如下Python程序运行后输出成果为( )
A.0 B.45 C.46 D.362880
7.已知a = 6,b = -4,则Python体现式 a / 2 + b % 2 * 3 值为()
A.3 B.3.0 C.5 D.5.0
8.如下论述中对是( )。
A.Python 3.x与Python 2.x兼容
B.Python语句只能以程序方式执行
C.Python是解释型语言
D.Python语言出现得晚,具有其他高级语言一切长处
9.下面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
10.在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
11.下列选项中,属于Python输入函数是( )。
A.random() B.print() C.Cout() D.input()
12.要实现将实数型变量a值保留三位小数,如下python可以实现是( )
A.a%0.001 B.a//0.001 C.round(a,3) D.round(3,a)
13.在Python中,若x=10, y=20,下面程序段执行后,变量x、y值分别是( )
x=y
y=x
A.10、 10 B.10、20 C.20、 20 D.20、 10
14.在python中,如下哪个选项a 数据类型为整型( )
A.a=5 B.a=input() C.a='5' D.a=5.0
15.如下python程序段运行后,x和st值分别是( )
x= 123 + 678
st = "123" + "678"
A.123678 "123678" B.123678 "801" C.801 "123678" D.801 "801"
16.已知下列Python程序段,k取下列哪组值是x=4? ( )
for i in range(10):
k=int(input())
if k<=20 and k>0:
if k>15:
if k>18:
x=0
else:
x=1
else:
if k>12:
x=4
else:
x=5
A.13,16 B.13,14,15 C.16,17,18 D.18,19
17.有如下python程序段:
a="Doing is better than saying ."
print(r"\n"+a[ :15])
该程序运行后,输出成果是( )
A.直接输出:' \nDoing is better '
B.直接输出:\nDoing is better th
C.直接输出:\nDoing is better
D.先换行,然后在新一行中输出:Doing is better
18.下列有有关print命令描述中,对是( )
A.在打印机里打印有关文本或者数字等
B.可以用来画图
C.在屏幕中输出对应文本或者数字等
D.执行语句print(“python”,3.7)时会出错
19.运用Python编程实现计算z=a+aa+aaa+aaaa+aa..a值,其中a是一种数字,如8+88+888+8888+88888。设计一种summalion()函数,输入变量为数字a和需要多少个数相加n,在这个函数中,a.aa.aaa这些基本数由变量Basic来保留,前几种数求和保留在变量sum中,Python程序如下左图所示,请在下划线处填写代码( )完善程序实现如下右图运行成果。
A.basic+=sum B.sum=basic+n C.sum=basic+1 D.sum+=basic
20.Python体现式a=b中“=”表达 ( )
A.互换“=”左右两边变量值
B.把“=”右边变量值赋值给左边变量
C.把“=”左边变量值赋值给右边变量
D.比较“=”左右两边变量值与否相等
21.在python中能实现下面成果代码是( )。
请输入你性别:
A.print(“请输入你性别:”) B.print(请输入你性别:)
C.input(“请输入你性别:”) D.input(请输入你性别:)
22.有如下 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
23.在Python中,input()函数返回成果数据类型为( )
A.Number型 B.String型 C.List型 D.Sets型
24.在Python中,下列循环构造使用方法错误是( )。
A.for i in range(20): B.for i in range(0,10):
C.for i in range(10,0,2): D.while s<50:
25.已知a=-2,b=10/3,则python体现式round(b,1)+abs(a)值为( )
A.1.3 B.5.33 C.5.4 D.5.3
26.如下对 Python 程序缩进格式描述错误选项是( )
A.不需要缩进代码顶行写,前面不能留空白
B.缩进可以用 tab 键实现,也可以用多种空格实现
C.严格缩进可以约束程序构造,可以多层缩进
D.缩进是用来格式美化 Python 程序
27.下列哪条赋值语句在Python中是非法:( )
A.X=Y=Z=1 B.X=(Y=Z+1) C.X,Y=Y,X D.X+=Y
28.python中,体现式5%2 = ( )。
A.2.5 B.2 C.1 D.0
29.Python中幂运算(指数运算)运算符为( )。
A.* B.** C.% D.//
30.下列选项中,不属于Python特点是( )。
A.面向对象 B.运行效率高 C.可读性好 D.开源
二、程序填空
31.某字符转置算法描述如下:
将字符串(均为大写字符)s依次转换为相对应数值(字符A~Z对应数值1~26);
·转换后数值以K个数据为一段,将n个待处理数据依次分割成若干段(最终一段局限性部分用0来补充);
每一段中K个数据与K*K转置矩阵进行乘法运算;
将乘法运算得到每一种成果值除以26求余数,依次转换成对应字符(数值1~26对应字符A~Z),最终按原始字符串长度输出。
乘法运算规则如下:
第i个元素c(i)=第j个元素a(j)*转置矩阵第j行第i个元素b(t)乘积之和(其中j=1,2…K)
例如:字符串s=PYTHON,区块大小K=4,转置过程如下:
(1)根据算法描述,上述示例中,字符“N”相乘成果(即图中(★)处)为________。
(2)请在划线处填入合适代码。
Private Sub Commandl_Click()
Dim a(1 To 100)As Integer ´存储字符串,长度不超过100个字符
Dim b(1 To 100)As Integer 存储转置矩阵,长度不超过 10*10
Dim c(1 To 100)As Long
Dim s As String, tmp As String
Dim k As Integer, t As Integer, i As Integer, j As Integer
Dim n As Integer, m As Integer, lens As Integer
s=Textl. Text ´在 Textl 中输入原始字符串
k=Val(Text 2.Text) ´在 Text 2 中输入区块大小K
Randomize
For i=1 To k^2
b(i)=Int(Rnd*9)+1
tmp=tmp十Str(b(i))
If i Mod k=0 Then
List 2. AddItem tmp
tmp="" .
End If
Next i
lens=Len(s):n=lens
For i=1 To n
tmp=Mid(s,i,1)
①__________
Listl. AddItem Str(a(i))
Next i
Do While n Mod k<>0
n=n十1
a(n)=0
Listl. AddItem Str(a(n))
Loop
For i=1 To n
m=(i―1)Mod k+1
t=1
Forj= ②__________
c(i)=a(j) * b((m-1) * k+t)+c(i)
t=t+1
Next j
Next i
For i=1 To n
List 3. AddItem Str(c(i))
Next i
s=″″
For i=1 To lens
③__________
s=s+Chr(t+64)}
Next i
Text 3.Text=s ´在Text 3 中输出转置后字符串
End Sub
32.某种数据加密措施描述如下(加密前数据是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
33.求解a到b内(包含a和b)所有质数,并对每个质数每一位数字求和。请完善程序。程序如下:
import math
def IsPrime(i):
if i==1:
return False
for j in range(2,int(math.sqrt(i))+1):
if____:
return False
return True
a=int(input("请输入a:"))
b=int(input("请输入b:"))
summ=0
for i in range(a,b+1):
if IsPrime(i):
________
while t>0:
summ=summ+t%10
_________
print("数字和为:",summ)
34.已知圆柱体底面半径为r,高为h,(均为正整数),小张编写了一种程序计算圆柱体地面周长和面积,圆柱体侧面积以及圆柱体体积,其中圆周率定义为:3.14,请根据下列代码回答问题:
r=int(input(“请输入半径r:”))
h=int(input(“请输入高h:”))
_________________________
c=2*pi*r
s=pi*r**2
S=c*h
V=s*h
print(c,s,S,V)
(1)处理问题程序用到控制构造有:__________________(填:次序构造、分支构造、循环构造)
(2)请将程序补充完整。
(3)请找出程序中错误代码,并改正。
____________________________________________
35.完善程序实现如下功能并保留。
输出数组最大值。
arr1 =[12, 435, 76, 24, 78, 54, 866, 43]
________ = -32768
for i in range(0,7):
if arr1[i] > max1 : max1 = ________
print("最大值是:", ________)
input("运行完毕,请按回车键退出...")
36.编写一种程序,实现九九乘法口诀表。
37.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出。
38.(项目情境)在中国古代,出自数学家张丘建《算经》中这样一种值得研究问题:今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。凡百钱,买鸡百只。问鸡翁、母、雏各几何?这个问题就是著名“百钱买百鸡问题”。即:既有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,规定:公鸡,母鸡,小鸡都要有,把100文钱买100只鸡,买鸡是整数。问公鸡、母鸡和小鸡各几何?
(问题求解)设用变量g、m、x三个变量分别寄存公鸡、母鸡和小鸡数量,请阅读如下程序,在空白处填写合适体现式或语句,使程序完整。
for g in range(1,20):
for m in _______:
for x in range(3,98,3):
if _________ and __________ ==100:
print("公鸡:",g,"母鸡:",m,"小鸡:",x)
39.编写程序。信息社团三个同学和Bruce一起做游戏,他们游戏规则很简单,从1开始依次报数,每当一种数能被7整除或者十位是7就要跳过这个数,目前给出一种数N,请输入从1到N(包含N)中要跳过数。
40.请在空格处填写对代码,使程序完善。
实现功能:绘制y=x2-2x+ 1图像
#加载numpy模块并限简洁别名为np
import numpy as np
#加载matplotlib.pyplot模块并限简洁别名为plt
import matplotlib.pyplot as plt
#x在-7到9之间,每隔0.1取一种点
x=np.arange(-7,9,0.1)
_____ = x**2-2*x+1
plt.plot(x,________)
plt.title('y=x*x-2*x+1')
plt.xlabel('x')
plt.ylabel('y')
plt._________
【参照答案】***试卷处理标识,请不要删除
一、选择题
1.B
【详解】
本题重要考察Python函数知识点。continue是跳出本次循环,进入下一次循环,break是跳出循环,故本题选B选项。
解析:B
【详解】
本题重要考察Python函数知识点。continue是跳出本次循环,进入下一次循环,break是跳出循环,故本题选B选项。
2.D
【详解】
本题考察是Python程序调试。双分支IF语句。if (条件)背面要加冒号,else背面也要加冒号。故标号4中存在语法错误。
解析:D
【详解】
本题考察是Python程序调试。双分支IF语句。if (条件)背面要加冒号,else背面也要加冒号。故标号4中存在语法错误。
3.D
【详解】
本题考察程序设计语言有关知识点
程序设计高级语言包括Python、Basic、C++等,伪代码不能执行,不是程序设计高级语言。故本题选D选项
解析:D
【详解】
本题考察程序设计语言有关知识点
程序设计高级语言包括Python、Basic、C++等,伪代码不能执行,不是程序设计高级语言。故本题选D选项
4.B
【详解】
本题重要考察Python变量命名。变量命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故ab可以作为 Python程序变量名,故本题选B选项。
解析:B
【详解】
本题重要考察Python变量命名。变量命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故ab可以作为 Python程序变量名,故本题选B选项。
5.C
【详解】
本题重要考察数据分析知识点。Access(数据库)、Excel(表格处理软件)、SQL(用于访问和处理数据库原则计算机语言)均是数据分析处理工具,Python是程序设计软件,故本题
解析:C
【详解】
本题重要考察数据分析知识点。Access(数据库)、Excel(表格处理软件)、SQL(用于访问和处理数据库原则计算机语言)均是数据分析处理工具,Python是程序设计软件,故本题选C选项。
6.A
【详解】
本题考察是Python循环语句。range(10)是[0,10)整数。故m=0*1*2*3*4*5*6*7*8*9=0,选项A对。
解析:A
【详解】
本题考察是Python循环语句。range(10)是[0,10)整数。故m=0*1*2*3*4*5*6*7*8*9=0,选项A对。
7.B
【详解】
本题重要考察Python体现式运算。a=6,b=-4, a/2 + b%2*3 =6/2+(-4%2*3)=3.0+0=3.0,故本题选B选项。
解析:B
【详解】
本题重要考察Python体现式运算。a=6,b=-4, a/2 + b%2*3 =6/2+(-4%2*3)=3.0+0=3.0,故本题选B选项。
8.C
【详解】
本题考察Python有关知识点
Python 3.x与Python 2.x版本不一样,不兼容。故选项A说法错误
Python语句也可以使用脚本直接运行。故选项B说法错误
Python是解
解析:C
【详解】
本题考察Python有关知识点
Python 3.x与Python 2.x版本不一样,不兼容。故选项A说法错误
Python语句也可以使用脚本直接运行。故选项B说法错误
Python是解释型语言。故本题选C选项
Python不具有其他高级语言一切长处。故选项D说法错误
9.B
【详解】
本题重要考察Python程序执行。a=23,b=int(a/10)=2(int(x)是返回不不小于x最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b值为3和2
解析:B
【详解】
本题重要考察Python程序执行。a=23,b=int(a/10)=2(int(x)是返回不不小于x最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b值为3和2,故本题选B选项。
10.D
【详解】
本题考察Python程序运算。a=5,b=7,b+=3=10,a=b*20=200,a+=2=202,a=a%b=2。最终a=2,b=10,故本题选D。
解析:D
【详解】
本题考察Python程序运算。a=5,b=7,b+=3=10,a=b*20=200,a+=2=202,a=a%b=2。最终a=2,b=10,故本题选D。
11.D
【详解】
本题重要考察Python输入函数。random()是随机函数,print()是输出函数,Cout() 函数是记录字符串里某个字符出现次数,input()是输入函数,故本题选D选项。
解析:D
【详解】
本题重要考察Python输入函数。random()是随机函数,print()是输出函数,Cout() 函数是记录字符串里某个字符出现次数,input()是输入函数,故本题选D选项。
12.C
【详解】
本题重要考察Python函数。round(x,n)措施返回 x 小数点四舍五入到n个数字,故要实现将实数型变量a值保留三位小数,可以使用语句round(a,3),故本题选C选项。
解析:C
【详解】
本题重要考察Python函数。round(x,n)措施返回 x 小数点四舍五入到n个数字,故要实现将实数型变量a值保留三位小数,可以使用语句round(a,3),故本题选C选项。
13.C
【详解】
本题重要考察Python程序执行。x=10,y=20,x=y=20,y=x=20,故程序段执行后,变量x、y值分别是20、 20,故本题选C选项。
解析:C
【详解】
本题重要考察Python程序执行。x=10,y=20,x=y=20,y=x=20,故程序段执行后,变量x、y值分别是20、 20,故本题选C选项。
14.A
【详解】
本题考察Python数据类型。Python数据类型有字符串,布尔类型,整数,浮点数等。a=5,a为整数型;a=‘5’,则a为字符串;a=5.0,则a为浮点数。故本题选A。
解析:A
【详解】
本题考察Python数据类型。Python数据类型有字符串,布尔类型,整数,浮点数等。a=5,a为整数型;a=‘5’,则a为字符串;a=5.0,则a为浮点数。故本题选A。
15.C
【详解】
本题重要考察Python程序执行。x= 123 + 678=801,st = "123" + "678"= "123678" (字符串类型相加等于字符串拼接),故本题选C选项。
解析:C
【详解】
本题重要考察Python程序执行。x= 123 + 678=801,st = "123" + "678"= "123678" (字符串类型相加等于字符串拼接),故本题选C选项。
16.B
【详解】
本题重要考察Python程序执行。分析代码可知,k=16,17,18时,x=1;k=19,20时,x=0;k=13,14,15时,x=4;k取1~12时,x=5,故本题选B选项。
解析:B
【详解】
本题重要考察Python程序执行。分析代码可知,k=16,17,18时,x=1;k=19,20时,x=0;k=13,14,15时,x=4;k取1~12时,x=5,故本题选B选项。
17.C
【详解】
本题重要考察Python程序运行。r 标识 \ 背面字符不转义,a[ :15]表达从a右边往左第15位到最左边所有输出,故该程序运行后,输出成果是直接输出:\nDoing is
解析:C
【详解】
本题重要考察Python程序运行。r 标识 \ 背面字符不转义,a[ :15]表达从a右边往左第15位到最左边所有输出,故该程序运行后,输出成果是直接输出:\nDoing is better,故本题选C选项。
18.C
【详解】
本题重要考察print函数。print命令在屏幕中输出对应文本或者数字等,执行语句print(“python”,3.7)成果是python 3.7,故本题选C选项。
解析:C
【详解】
本题重要考察print函数。print命令在屏幕中输出对应文本或者数字等,执行语句print(“python”,3.7)成果是python 3.7,故本题选C选项。
19.D
【详解】
本题重要考察Python程序执行与调试。变量sum用来求和,变量basic用来保留第i个数,下划线处对第i轮求和,故填sum=sum+basic,故选D选项。
解析:D
【详解】
本题重要考察Python程序执行与调试。变量sum用来求和,变量basic用来保留第i个数,下划线处对第i轮求和,故填sum=sum+basic,故选D选项。
20.B
【详解】
本题重要考察Python赋值语句。Python体现式a=b中“=”表达把“=”右边变量值赋值给左边变量,故本题选B选项。
解析:B
【详解】
本题重要考察Python赋值语句。Python体现式a=b中“=”表达把“=”右边变量值赋值给左边变量,故本题选B选项。
21.C
【详解】
本题考察是python函数有关知识。input函数接受一种原则输入数据,print是一种输出函数。input(“请输入你性别:”)函数中“请输入你性别:”表达提醒信息,要使用双
解析:C
【详解】
本题考察是python函数有关知识。input函数接受一种原则输入数据,print是一种输出函数。input(“请输入你性别:”)函数中“请输入你性别:”表达提醒信息,要使用双引号。故选项C对。
22.C
【详解】
本题重要考察VB程序执行。分析程序可知,变量i控制从s1中取字符,变量j从s2中取字符,依次比较字符串s1、s2每一种字符,若s1中字符不小于或等于s2中字符,则将s1中对应字
解析:C
【详解】
本题重要考察VB程序执行。分析程序可知,变量i控制从s1中取字符,变量j从s2中取字符,依次比较字符串s1、s2每一种字符,若s1中字符不小于或等于s2中字符,则将s1中对应字符拼接到变量s中,否则变量j递增。第一遍循环,i=1,j=1,“p”<“v”,j=j+1=2,i=i+1=2;第二遍循环,“y”>“i”,i=i+1=3;第三遍循环,“t”>“i”,i=i+1=4;第四遍循环,“h”<“i”,j=j+1=3,i=i+1=5;第五遍循环,“o”<“s”,j=j+1=4,i=i+1=6;第六遍循环,“n”<“u”,j=j+1=5,i=i+1=7,循环结束,故执行该程序后,j值是5,故本题选C选项。
23.B
【详解】
本题重要考察Python输入函数。在Python中,input()函数返回成果数据类型为字符串String型,故本题选B选项。
解析:B
【详解】
本题重要考察Python输入函数。在Python中,input()函数返回成果数据类型为字符串String型,故本题选B选项。
24.C
【详解】
本题重要考察Python循环构造。range函数中第一种参数是起始值,第二个参数是终值,第三个参数是每次递增值,语句for i in range(10,0,2):初值是10,终值是0,
解析:C
【详解】
本题重要考察Python循环构造。range函数中第一种参数是起始值,第二个参数是终值,第三个参数是每次递增值,语句for i in range(10,0,2):初值是10,终值是0,每次递增2,将出现死循环,故本题选C选项。
25.D
【详解】
本题重要考察Python体现式运算。round(x,n)措施返回 x 小数点四舍五入到n个数字,abs是求绝对值,已知a=-2,b=10/3,则体现式round(b,1)+abs(
解析:D
【详解】
本题重要考察Python体现式运算。round(x,n)措施返回 x 小数点四舍五入到n个数字,abs是求绝对值,已知a=-2,b=10/3,则体现式round(b,1)+abs(a)=3.3+2=5.3,故本题选D选项。
26.D
【详解】
本题重要考察Python语法格式。不需要缩进代码顶行写,前面不能留空白;缩进可以用 tab 键实现,也可以用多种空格实现;严格缩进可以约束程序构造,可以多层缩进;缩进是代码书写规则
解析:D
【详解】
本题重要考察Python语法格式。不需要缩进代码顶行写,前面不能留空白;缩进可以用 tab 键实现,也可以用多种空格实现;严格缩进可以约束程序构造,可以多层缩进;缩进是代码书写规则规定,故本题选D选项。
27.B
【详解】
本题考察Python语句。选项A,X=Y=Z=1是合法赋值语句;选项B,X=(Y=Z+1),X被赋值“Y=Z+1”,但这个所谓“Y=Z+1”并不返回任何值,因此这是一种错误赋值语
解析:B
【详解】
本题考察Python语句。选项A,X=Y=Z=1是合法赋值语句;选项B,X=(Y=Z+1),X被赋值“Y=Z+1”,但这个所谓“Y=Z+1”并不返回任何值,因此这是一种错误赋值语句,这是非法;选项C,X,Y=Y,X这是互换语句,合法;选项D,X+=Y相称于X=X+Y,故本题选B。
28.C
【详解】
本题考察是python中运算符有关知识。在python中%表达取模,返回除法余数,故5%2 =1,选项C对。
解析:C
【详解】
本题考察是python中运算符有关知识。在python中%表达取模,返回除法余数,故5%2 =1,选项C对。
29.B
【详解】
本题重要考察Python运算。Python中幂运算(指数运算)运算符为**,故本题选B选项。
解析:B
【详解】
本题重要考察Python运算。Python中幂运算(指数运算)运算符为**,故本题选B选项。
30.B
【详解】
本题考察Python特点有关知识点
Python是一门面向对象、可读性好、开源语言。由于是高级语言,不具有运行效率高特点。故本题选B选项
解析:B
【详解】
本题考察Python特点有关知识点
Python是一门面向对象、可读性好、开源语言。由于是高级语言,不具有运行效率高特点。故本题选B选项
二、程序填空
31.①a(i)=Asc(tmp)-64或a(i)=Asc(tmp)-Asc("A")+1 ②i–m+1To i–m+k ③t=(c(i)–1) Mod 26+1
【详解】
本题考察乘法运算规则理解以及转置矩阵中行列数据读取。(1)根据算法描述,图中(1)处值为15×5+14×1+0×2+0×9=89。(2)程序先随机生成数组b,其下标为1到k×k,并以行列形式显示在列表框list2中(即为转置矩阵),然后读取大写字符串s中每个字符,并将每个字符转换成对应字母表中位置存储在数组a中。代码①处为字符转成对应字母表中位置值,下方代码将a(i)输出在列表框listl中,故此处应获取a(i)值。根据题干描述“字符A~Z对应数值1~26”,此处为将tmp获取字符通过Asc函数进行转换,语句为“a(i)=Asc(tmp)-64”,还可以是“a(i)=Asc(tmp)-Asc(″A″)+1”。代码②处为循环变量j取值范围,根据乘法规则,变量j范围是每一段中1到k之间值,需要获取每一段起始位置下标,结合上文得到m值,可得循环变量范围是“i-m+1 To i-m十k”。代码③处是将计算成果c(i)按原长度转换成对应大写字符,计算成果规定除以26取余,若直接写成c(i)Mod 26,则导致数值26成果为0,因此需要先减1,Mod后再加1这样处理技巧,因此答案为“(c(i)-1)Mod 26+1”。
32.①i <=(Len(s)\8)*8 ②a(start + c((i-1)Mod 8+1)) ③ss = convert(Asc(b(i)))
【详解】
(1)“A”ASCII码值是65,用二进制表达为0100001,m=35,用二进制表达为0010001,位做异或运算,相似为0,相异为1,可得:01100010。
(2)①以8个数据为一段进行分段处理,个数等于8数据段需进行位置变换,故需进行位置变换数据段有(Len(s)\8)个,数据个数为i <=(Len(s)\8)*8。
②位置变换措施:加密后数据段第ⅰ个元素=原数据段第c(i)个元素,其中i=1,2,……,8,i表达段内位置。代码“Do While i <=(Len(s)\8)*8”中i对应段内位置可为“1+(i-1)Mod8”,start表达该数据段第一种数据前个位置,故数组b第i位置元素是来自数组a第start + c(1+(i*-1)Mod 8)位置,故②处代码为“a(start + c(i-1)Mod8+1))”。
③位置变换后数据需转二进制,再按位做异或运算,故③处代码是调用自定义函数convert把b(i)
展开阅读全文