一、选择题
1.python中,表达式5%2 = ( )。
A.2.5 .2 .1 .0
2.已知字符串a="python",则a[ 1 : 3 ]的值为( )
A."pyth" ."pyt" ."py" ."yt"
3.在Python程序设计语言中,表示整除的符号是( )
A./ .% .mod .//
4.以下是猜数游戏的 Python程序,请你补全代码:
请选择适当的代码填入程序①处。( )
A.for .print .elif .input
5.在Python中,下列循环结构用法错误的是( )。
A.for i in range(20): .for i in range(0,10):
C.for i in range(10,0,2): .while s<50:
6.关于Python的内存管理,下列说法错误的是( )
A.变量不必事先声明 .变量无需先创建和赋值就可直接使用
C.变量无须制定类型 .可以使用del释放资源
7.检测输入的四位整数abcd是否满足下述关系:(ab+cd)(ab+cd)=abcd。实现上述功能的python程序代码如下:
k=int(input(“输入一个四位数:”))
①
y=k%100
if ② :
print(“符合”)
else:
print(“不符合”)
划线处应填入的代码是( )
A.①x=k/100 ②(x+y)*2!=k .①x=k//100 ②(x+y)*2==k
C.①x=k/100 ②(x+y)**2!=k .①x=k//100 ②(x+y)**2==k
8.运行下列 Python程序,结果正确的是( )
a=18
b=7
c=a%b
b=a%b
print(a,b)
A.18 5 .5 18 .18 4 .4 18
9.运行下列 Python程序,结果正确的是( )
a=32
b=14
c=a%b
print(c)
A.2 .4 .32 .14
10.下列不被python所支持的数据类型是( )
A.char .float .int .list
11.如下Python程序段
for i in range(1,4):
for j in range(0,3):
print ("Python")
语句print ("Python")的执行次数是( )
A.3 .4 .6 .9
12.下列选项中,合法的Python变量名是( )
A.print .speed .Python.net .a#2
13.在Python中,表达式(21%4)+3的值是( )
A.2 .4 .6 .8
14.在Python中,算式5+6*4%(2+8)结果为( )
A.25
B.15
C.9
D.7.4
15.下列不属于高级编程语言的是
A.C 语言 .VB语言 .Python语言 .机器语言
二、程序填空
16.学习了Python绘制图形操作后,信息小组接到了编程演示的任务。为此,小组同学编写了一段代码,绘制出多个不同颜色的圆形。
代码如下:
import turtle
turtle. bgcolor("black")
colors=["red", "green", "blue", "yellow"]
for x ① range(100):
turtle. pencolor(colors[x%4])
turtle. circle(x)
turtle. left(90)
请分析任务,完成下列题目。
(1)程序中①处应填写(________) 。
A.print B.input C.in D.colors
(2)程序中x%4的作用是(________)。
A.计算x乘以4的结果
B.计算x除以4的整数部分
C.计算x除以4的小数部分
D.计算x除以4的余数
(3)执行此程序,绘制出圆形的总颜色数是(________)。
A.1 B.4 C.5 D.100
(4)执行此程序,绘制出圆形的总个数是(________)。
A.1 B.4 C.99 D.100
(5)此程序属于程序设计结构中的(________)。
A.顺序结构 B.分支结构
C.循环结构 D.跳转结构
17.某字符转置算法描述如下:
将字符串(均为大写字符)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+)}
Next i
Text 3.Text=s ´在Text 3 中输出转置后的字符串
End Sub
18.求100以内素数。
19.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。提示:考虑使用range(#begin, #end)
20.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,
请输入以下代码,自己输入数据运行,结果截图提交
21.编写程序,用*打印一个如下所示的等腰直角三角形,将测试结果截图。
*
* *
* * *
* * * *
【参】***试卷处理标记,请不要删除
一、选择题
1.C
【详解】
本题考查的是python中的运算符相关知识。在python中%表示取模,返回除法的余数,故5%2 =1,选项C正确。
解析:C
【详解】
本题考查的是python中的运算符相关知识。在python中%表示取模,返回除法的余数,故5%2 =1,选项C正确。
2.D
【详解】
本题主要考查Python字符串。a[ 1 : 3 ]取字符串索引第一 个到第三个字符(不包括第三个),故a[ 1 : 3 ]的值为"yt",故本题选D选项。
解析:D
【详解】
本题主要考查Python字符串。a[ 1 : 3 ]取字符串索引第一 个到第三个字符(不包括第三个),故a[ 1 : 3 ]的值为"yt",故本题选D选项。
3.D
【详解】
本题主要考查Python中的运算符。"/"是除法运算,“%”是取余运算,mod是求余函数,“//”是整除运算,因此D选项正确。
【点睛】
解析:D
【详解】
本题主要考查Python中的运算符。"/"是除法运算,“%”是取余运算,mod是求余函数,“//”是整除运算,因此D选项正确。
【点睛】
4.C
【详解】
本题主要考查Python分支结构。分析程序可知,该程序采用多分支结构,故程序①处应填elif,故本题选C选项。
解析:C
【详解】
本题主要考查Python分支结构。分析程序可知,该程序采用多分支结构,故程序①处应填elif,故本题选C选项。
5.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选项。
6.B
【详解】
本题主要考查Python的变量。变量需要先创建和初始化,才可以使用,故本题选B选项。
解析:B
【详解】
本题主要考查Python的变量。变量需要先创建和初始化,才可以使用,故本题选B选项。
7.D
【详解】
本题主要考查Python程序的调试。检测是否满足关系(ab+cd)(ab+cd)=a,需要将ab与cd取出来,ab=abcd // 100,cd=abcd %100,故第一空填x=k/
解析:D
【详解】
本题主要考查Python程序的调试。检测是否满足关系(ab+cd)(ab+cd)=a,需要将ab与cd取出来,ab=abcd // 100,cd=abcd %100,故第一空填x=k//100,第二空判断是否满足(ab+cd)(ab+cd)=a,故第二空填(x+y)**2==k,故本题选D选项。
8.C
【详解】
本题主要考查Python程序的执行。a=18,b=7,c=a%b=4,b=a%b=4,输出a和b的值是18和4,故本题选C选项。
解析:C
【详解】
本题主要考查Python程序的执行。a=18,b=7,c=a%b=4,b=a%b=4,输出a和b的值是18和4,故本题选C选项。
9.B
【详解】
本题考查Python程序执行
a%b=32%14=4(%取余)。故本题选B选项
解析:B
【详解】
本题考查Python程序执行
a%b=32%14=4(%取余)。故本题选B选项
10.A
【详解】
本题主要考查Python数据类型。Python没有char类型,一个字符也是字符串,故本题选A选项。
解析:A
【详解】
本题主要考查Python数据类型。Python没有char类型,一个字符也是字符串,故本题选A选项。
11.D
【详解】
本题主要考查Python程序的执行。外循环变量i的范围是1-3,内循环变量j的范围是0-2,故语句print ("Python")的执行次数是3*3=9,故本题选D选项。
解析:D
【详解】
本题主要考查Python程序的执行。外循环变量i的范围是1-3,内循环变量j的范围是0-2,故语句print ("Python")的执行次数是3*3=9,故本题选D选项。
12.B
【详解】
本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故合法的Python变量名是speed,故本题选B选项。
解析:B
【详解】
本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故合法的Python变量名是speed,故本题选B选项。
13.B
【详解】
本题考查的是Python表达式。%是求余,故(21%4)+3=1+3=4,选项B正确。
解析:B
【详解】
本题考查的是Python表达式。%是求余,故(21%4)+3=1+3=4,选项B正确。
14.C
【详解】
本题主要考查Python表达式的运算。小括号优先级最高,*和%求余数是第二等级,从左到右,5+6*4%(2+8)=5+6*4%10 =5+ 24%10=5+4=9,故本题选C选项。
解析:C
【详解】
本题主要考查Python表达式的运算。小括号优先级最高,*和%求余数是第二等级,从左到右,5+6*4%(2+8)=5+6*4%10 =5+ 24%10=5+4=9,故本题选C选项。
15.D
【详解】
本题考查的是程序语言。常见的高级编程语言有:C 、VB、Python等。机器语言是计算机语言的一种不属于高级语言。故应选D。
【点睛】
解析:D
【详解】
本题考查的是程序语言。常见的高级编程语言有:C 、VB、Python等。机器语言是计算机语言的一种不属于高级语言。故应选D。
【点睛】
二、程序填空
16.C D B D C
【详解】
本题主要考查Python程序调试。①Python程序for循环格式是:for 变量 in range( ),故程序中①处应填写in,选C选项。②程序中x%4的作用是计算x除以4的余数,选D选项。③colors=["red", "green", "blue", "yellow"],依次循环从colors中取颜色,故执行此程序,绘制出圆形的总颜色数是4,故本题选B选项。④x的范围是从0到99,故执行此程序,绘制出圆形的总个数是100个,选D选项。⑤此程序属于程序设计结构中的循环结构,选C选项。
17.①a(i)=Asc(tmp)-或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=。(2)程序先随机生成数组b,其下标为1到k×k,并以行列的形式显示在列表框list2中(即为转置矩阵),然后读取大写字符串s中的每个字符,并将每个字符转换成相应字母表中的位置存储在数组a中。代码①处为字符转成相应的字母表中位置值,下方代码将a(i)输出在列表框listl中,故此处应获取a(i)的值。根据题干描述“字符A~Z对应数值1~26”,此处为将tmp获取的字符通过Asc函数进行转换,语句为“a(i)=Asc(tmp)-”,还可以是“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”。
18.for i in range(1,100):
if i > 1:
for j in range(2,i):
if (i % j) == 0:
break
else:
print(i)
【详解】
本题主要考查Python程序设计。可以通过for循环找出100以内的素数,用i依次整数2~i-1,如果能整除表明i不是素数,否则i为质数,具体代码如下:
for i in range(1,100):
if i > 1:
for j in range(2,i):
if (i % j) == 0:
break
else:
print(i)
19.l=[]
for i in range(2000, 3201):
if (i%7==0) and (i%5!=0):
l.append(str(i))
print (','.join(l))
【详解】
本题主要考查程序设计。由题干要求,可以使用Python程序设计语言实现,可使用for循环以及列表,可以使用join函数按逗号分隔格式打印结果,join函数连接字符串数组,将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串,具体代码如下:
l=[]
for i in range(2000, 3201):
if (i%7==0) and (i%5!=0):
l.append(str(i))
print (','.join(l))
20.
【详解】
本题主要考查Python程序的执行与调试。运行结果如下:
21.layer = int(input("请输入需要打印的层数:"))
for x in range(1,layer+1):
for y in range (1,x+1):
print("*", end="")
print("")
【详解】
本题主要考查Python循环结构。Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。range可以生成一个整数列表,列表范围根据接收的layer来确定。外层循环用于确定输出行数,内层循环用于控制每行符号个数。
【点睛】