资源描述
python软件编程等级考试(一级)编程实操题05
一、选择题
1.下面代码执行完毕后, a和b值分别为( )
a=l
a=l;
b=2
b=2;
a=b
a=b;
VB、Python 代码
JAVA代码
A.1 和 2 B.1 和 1 C.2 和 2 D.2 和 1
2.在Python中运行下列程序,输出成果为( )
for i in range (1,5):
print(i)
A.1,2,3,4,5 B.1 2 3 4 5 C.0,1,2,3,4 D.1 2 3 4
3.在python中能实现下面成果代码是( )。
请输入你性别:
A.print(“请输入你性别:”) B.print(请输入你性别:)
C.input(“请输入你性别:”) D.input(请输入你性别:)
4.如下Python代码输出成果中说法对是( )。
x=0
for i in range(1,100):
x=x+i
print(x)
A.1+100和 B.1+99和
C.1~99所有整数和 D.1~100所有整数和
5.运用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
6.有关循环构造说法不对是( )。
A.循环构造是算法基本构造之一
B.有程序设计中没有循环构造
C.循环构造在程序设计有也许会有嵌套出现
D.在PYTHON 程序设计语言中循环构造一般使用IF语句实现。
7.下列有有关print命令描述中,对是( )
A.在打印机里打印有关文本或者数字等
B.可以用来画图
C.在屏幕中输出对应文本或者数字等
D.执行语句print(“python”,3.7)时会出错
8.检测输入四位整数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 B.①x=k//100 ②(x+y)*2==k
C.①x=k/100 ②(x+y)**2!=k D.①x=k//100 ②(x+y)**2==k
9.下面( )是Python合法变量名
A.int32 B.40XL C.self D.name
10.如下哪种语言属于高级程序设计语言( )
①python ②c++ ③visual basic ④java
A.①②③ B.②③ C.②③④ D.①②③④
11.有关Python3.8基础知识说法中,不对是( )
A.支持中文做标识符
B.Python标识符不辨别字母大小写
C.Python命令提醒符是>>>
D.命令中用到标点符号只能是英文字符
12.运行如下Python程序,成果为( )。
A.1 B.3 C.6 D.18
13.如下Python程序段
x = 0
while x < 50:
x = (x + 2) * (x + 3)
运行后,x值为( )
A.0 B.72 C.50 D.168
14.下列python体现式成果最小是( )
A.2**3//3+8%2*3 B.5**2%3+7%2**2 C.1314//100%10 D.int("1"+"5")//3
15.在python中,如下哪个选项a 数据类型为整型( )
A.a=5 B.a=input() C.a='5' D.a=5.0
二、程序填空
16.(项目情境)水仙花数是指一种三位数,它每个位上数字3次方之和就等于它自身,例如:1**3+5**3+3**3 = 153。此类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。
(问题求解)设这个数寄存于变量x中,变量g、s、b分别寄存个位、十位、百位上数。需得分离数字得到每位上数,即将变量g、s、b表达为x形式。请阅读如下python程序,在空白处填写合适体现式或语句,使程序完整。print ("三位数之内水仙花是:")
for x in _____ :
b=x//100
s=_____
g=_____
if x==(b**3 + s**3 + g**3):
_____
17.现今信息化时代,信息传播十分迅速,足不出户便知天下事。许多社交平台均有设置本平台热点排行榜,以便顾客理解正在发生热门事件。但社交平台数量众多,平台顾客种类和数量也大不相似,导致不一样平台热点实际热度大小也不一样。小钟为了保证自已懂得热点是真正热点,于是打算用功能强大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)
18.密码强度检测。编写python程序,实现如下功能:输入要检测密码,输出密码强度成果。密码字符分为数字字符、字母和其他符号三类。密码强度检测措施为:若密码位数少于8位,则不进行强度检测,给出提醒“密码位数不能少于8位,请重新输入!”。若密码位数在8位及以上,则进行强度检测:若密码字符属于同一类字符,则密码强度为“弱”;若密码字符属于不一样二类字符,则密码强度为“中等”;若密码字符属于不一样三类字符,则密码强度为“强”。
(1)若输入“12abcd5!”,则输出成果为_________(选填,选字母:A.密码位数不能少于8位,请重新输入! / B.弱 / C.中等 / D.强)
(2)实现上述功能程序如下,请在划线处填入合适代码。
password=input(“请输入要检测密码:”)
①_______________
if n<8:
print(“密码位数不能少于8位,请重新输入!”)
else:
n1=0
n2=0
n3=0
for i in range(0,n,1):
②_______
if “0”<=ch<=“9”:
n1=1
elif “a”<=ch<=“z” or “A”<=ch<=“Z”:
n2=1
else:
n3=1
③_____
if x==3:
print(“强”)
elif x==2:
print(“中等”)
else:
print(“弱”)
19.某字符转置算法描述如下:
将字符串(均为大写字符)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
20.已知6月份10位技术考试成绩:
1
2
3
4
5
6
7
8
9
10
78
88
89
90
83
76
75
98
100
65
技术老师想记录出80分(含80)以上人数,请完善程序,代码如下:
a=[78,88,89,90,83,76,75,98,100,65]
______
sum=0
for i in range(n):
if a[i]>=80:
________
print(sum)
执行上述程序段后,输出内容是______
21.地球绕太阳运行周期为365天5小时48分46秒(合365.24219天),即一回归年。公历平年只有365天,比回归年短约0.2422天,每四年累积约一天,把这一天加于2月末(即2月29日),使当年时间长度变为366天,这一年就是闰年。判断某一年与否是闰年措施是年份数能被4整除,但不能被100整除,或者年份数能被400整除。如下是一段用于判断某一年与否是闰年程序。
请将上面程序框中空格处内容填写完整,其中①处填写代码注释
___________ ______ __________ _______ _______
【参照答案】***试卷处理标识,请不要删除
一、选择题
1.C
【详解】
本题重要考察程序执行。a=1,b=2,a=b=2,故代码执行完毕后, a和b值分别为2 和 2,故本题选C选项。
解析:C
【详解】
本题重要考察程序执行。a=1,b=2,a=b=2,故代码执行完毕后, a和b值分别为2 和 2,故本题选C选项。
2.D
【详解】
本题考察Python程序执行
range(1, 5)表达1到4值,注意不包括5。故本题选D选项
解析:D
【详解】
本题考察Python程序执行
range(1, 5)表达1到4值,注意不包括5。故本题选D选项
3.C
【详解】
本题考察是python函数有关知识。input函数接受一种原则输入数据,print是一种输出函数。input(“请输入你性别:”)函数中“请输入你性别:”表达提醒信息,要使用双
解析:C
【详解】
本题考察是python函数有关知识。input函数接受一种原则输入数据,print是一种输出函数。input(“请输入你性别:”)函数中“请输入你性别:”表达提醒信息,要使用双引号。故选项C对。
4.C
【详解】
本题考察是Python代码程序。本题要点是range()函数,其取到区间数值为前闭后开,因此为1-99整数。循环过程就是执行1-99所有整数求和过程。故答案为C。
解析:C
【详解】
本题考察是Python代码程序。本题要点是range()函数,其取到区间数值为前闭后开,因此为1-99整数。循环过程就是执行1-99所有整数求和过程。故答案为C。
5.D
【详解】
本题重要考察Python程序执行与调试。变量sum用来求和,变量basic用来保留第i个数,下划线处对第i轮求和,故填sum=sum+basic,故选D选项。
解析:D
【详解】
本题重要考察Python程序执行与调试。变量sum用来求和,变量basic用来保留第i个数,下划线处对第i轮求和,故填sum=sum+basic,故选D选项。
6.D
【详解】
本题考察循环构造有关知识点
在PYTHON 程序设计语言中循环构造一般使用for或while语句实现。故本题选D选项
解析:D
【详解】
本题考察循环构造有关知识点
在PYTHON 程序设计语言中循环构造一般使用for或while语句实现。故本题选D选项
7.C
【详解】
本题重要考察print函数。print命令在屏幕中输出对应文本或者数字等,执行语句print(“python”,3.7)成果是python 3.7,故本题选C选项。
解析:C
【详解】
本题重要考察print函数。print命令在屏幕中输出对应文本或者数字等,执行语句print(“python”,3.7)成果是python 3.7,故本题选C选项。
8.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选项。
9.ACD
【详解】
本题重要考察Python变量命名。Python变量命名不能以数字开头(可以如下划线或字母开头),不能包含特殊符号,不能是关键字,故本题选ACD选项。
解析:ACD
【详解】
本题重要考察Python变量命名。Python变量命名不能以数字开头(可以如下划线或字母开头),不能包含特殊符号,不能是关键字,故本题选ACD选项。
10.D
【详解】
本题考察计算机语言有关知识。高级语言是面向顾客、基本上独立于计算机种类和构造语言。其最大长处是:形式上靠近于算术语言和自然语言,概念上靠近于人们一般使用概念。高级语言一种命令
解析:D
【详解】
本题考察计算机语言有关知识。高级语言是面向顾客、基本上独立于计算机种类和构造语言。其最大长处是:形式上靠近于算术语言和自然语言,概念上靠近于人们一般使用概念。高级语言一种命令可以替代几条,几十条甚至几百条汇编语言指令。因此,高级语言易学易用,通用性强,应用广泛。高级语言种类繁多,可以从应用特点和对客观系统描述两个方面对其深入分类。python,c++ ,visual basic,java都属于高级程序设计语言。故本题选D。
11.B
【详解】
本题重要考察Python语法。Python3.8支持中文做标识符,Python标识符辨别字母大小写,Python命令提醒符是>>>,命令中用到标点符号只能是英文字符,故本题选B选项
解析:B
【详解】
本题重要考察Python语法。Python3.8支持中文做标识符,Python标识符辨别字母大小写,Python命令提醒符是>>>,命令中用到标点符号只能是英文字符,故本题选B选项。
12.C
【详解】
本题重要考察Python循环构造。分析程序可知,该程序求m、n最大公约数,程序结束后m=6,此时r=0,故本题选C选项。
解析:C
【详解】
本题重要考察Python循环构造。分析程序可知,该程序求m、n最大公约数,程序结束后m=6,此时r=0,故本题选C选项。
13.B
【详解】
本题重要考察Python程序执行。第一遍循环,x = (0 + 2) * (0 + 3)=6;第二遍循环x = (6 + 2) * (6 + 3)=72,不满足x<50,退出循环,故
解析:B
【详解】
本题重要考察Python程序执行。第一遍循环,x = (0 + 2) * (0 + 3)=6;第二遍循环x = (6 + 2) * (6 + 3)=72,不满足x<50,退出循环,故运行后,x值为72,故本题选B选项。
14.A
【详解】
本题重要考察Python体现式运算。2**3//3+8%2*3=8//3+0*3=2,5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=
解析:A
【详解】
本题重要考察Python体现式运算。2**3//3+8%2*3=8//3+0*3=2,5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=3,int("1"+"5")//3=5,故本题选A选项。
15.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。
二、程序填空
16.range(100,1000) x//10%10 x%10 print ("三位数之内水仙花是:"+str(x))
【详解】
本题重要考察Python程序执行与调试。①水仙花数是指一种三位数,即[100,999],for x in range(100,1000)表达x范围是100-999,故此处填range(100,1000)。②变量g、s、b分别寄存个位、十位、百位上数,故s=x//10%10(“//”表达整除,“%”表达取余)。③g=x%10。④假如满足 x==(b**3 + s**3 + g**3),则输出“三位数之内水仙花是:x”,故此处填print ("三位数之内水仙花是:"+str(x))。
17.myRank.append(A[i]) j < len(B) k<len(A)+len(B)-1 A[i] < B[j]
【详解】
本题重要考察python编程。根据表格所示,列表B中第5个元素为309,因此①处为309;A[i] < B[j]时,将列表末尾添加A[i],因此②处为myRank.append(A[i]);当列表未结束时,列表末尾添加对应元素,因此③处为j < len(B);算法二中引入变量k,用以记录i与j和,当k不大于len(A)+len(B)-1阐明两列表未结束,因此④处为k<len(A)+len(B)-1;若A[i] < B[j],则先将A[i] 添加至列表末尾,因此⑤处为A[i]< B[j]。
【点睛】
18.D n=len(password) ch=password[i] x=n1+n2+n3
【详解】
本题重要考察Python程序执行与调试。①“12abcd5!”具有三类字符,则输出成果为强,选D选项。②此处取密码长度,将其赋给变量n,len()是返回字符串长度,故填n=len(password)。③ch是取密码每一位进行判断,故此处填ch=password[i]。④当出现数字时n1=1,当出现字母时n2=1,当出现其他字符时n3=1,x用来记录有几类字符,故此处填x=n1+n2+n3。
19.①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”。
20.①n=len(a) sum+=1或sum=sum+1 6
【详解】
本题重要考察Python程序调试与执行。①变量n用来保留数组a长度,使用len函数,故此处填n=len(a)。②使用for循环记录出80分(含80)以上人数,用变量sum记录满足条件人数,当满足if条件时,sum变量递增,故此处填sum+=1或sum=sum+1。③执行上述程序段后,sum=6,故输出内容是6。
21.将year转换为整型数据,并赋值给year And year%100 != 0 or year
【详解】
本题重要考察Python程序设计。①input接受数据类型是字符串型,该语句表达将year转换为整型数据,并赋值给year。判断某一年与否是闰年措施是年份数能被4整除,但不能被100整除,或者年份数能被400整除,故第二、三、四空分别填② And ③year%100 != 0 ④or ⑤最终输出打印某一年与否是闰年,需要将year转换为字符型。
展开阅读全文