1、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中能实现下面成果代码是( )。 请输
2、入你性别: 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和
3、需要多少个数相加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命令描述中,对是( )
4、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
5、 ②(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标识符不辨
6、别字母大小写 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中,如下
7、哪个选项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 _____ :
8、 b=x//100 s=_____ g=_____ if x==(b**3 + s**3 + g**3): _____ 17.现今信息化时代,信息传播十分迅速,足不出户便知天下事。许多社交平台均有设置本平台热点排行榜,以便顾客理解正在发生热门事件。但社交平台数量众多,平台顾客种类和数量也大不相似,导致不一样平台热点实际热度大小也不一样。小钟为了保证自已懂得热点是真正热点,于是打算用功能强大python把各个平台热点排行榜进行合并,形成自已热点排行榜。 为了热点之间比较以便,小钟设置了一种热度值来衡量一种热点热度大小,热度值越大阐明这个热点热度越高
9、目前小钟已经获得了如下两个平台热度值从小到大排行榜,合法他打算将之合并为一种从小到大排行榜时,却被老师叫走了。于是他决定把这个小功能交给他好朋友——你来实现,你想到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
10、 [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)): my
11、Rank.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))
12、 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位,请重新输入!”。若密码位
13、数在8位及以上,则进行强度检测:若密码字符属于同一类字符,则密码强度为“弱”;若密码字符属于不一样二类字符,则密码强度为“中等”;若密码字符属于不一样三类字符,则密码强度为“强”。 (1)若输入“12abcd5!”,则输出成果为_________(选填,选字母:A.密码位数不能少于8位,请重新输入! / B.弱 / C.中等 / D.强) (2)实现上述功能程序如下,请在划线处填入合适代码。 password=input(“请输入要检测密码:”) ①_______________ if n<8: print(“密码位数不能少于8位,请重新输入!”) else:
14、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(“弱”)
15、 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)根据算法
16、描述,上述示例中,字符“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
17、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
18、 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=
19、″″ 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 i
20、n 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整除。如下是一段用于判断某一年与否是闰年程序。 请将上面程序框中空格处内容填写完整,其中①处填写代码注释 ______
21、 ______ __________ _______ _______ 【参照答案】***试卷处理标识,请不要删除 一、选择题 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 【详解】 本题
22、考察Python程序执行 range(1, 5)表达1到4值,注意不包括5。故本题选D选项 3.C 【详解】 本题考察是python函数有关知识。input函数接受一种原则输入数据,print是一种输出函数。input(“请输入你性别:”)函数中“请输入你性别:”表达提醒信息,要使用双 解析:C 【详解】 本题考察是python函数有关知识。input函数接受一种原则输入数据,print是一种输出函数。input(“请输入你性别:”)函数中“请输入你性别:”表达提醒信息,要使用双引号。故选项C对。 4.C 【详解】 本题考察是Python代码程序。本题要点是range()函
23、数,其取到区间数值为前闭后开,因此为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个数,下
24、划线处对第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函数。
25、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)(a
26、b+cd)=a,故第二空填(x+y)**2==k,故本题选D选项。 9.ACD 【详解】 本题重要考察Python变量命名。Python变量命名不能以数字开头(可以如下划线或字母开头),不能包含特殊符号,不能是关键字,故本题选ACD选项。 解析:ACD 【详解】 本题重要考察Python变量命名。Python变量命名不能以数字开头(可以如下划线或字母开头),不能包含特殊符号,不能是关键字,故本题选ACD选项。 10.D 【详解】 本题考察计算机语言有关知识。高级语言是面向顾客、基本上独立于计算机种类和构造语言。其最大长处是:形式上靠近于算术语言和自然语言,概念上靠近于人们一般
27、使用概念。高级语言一种命令 解析:D 【详解】 本题考察计算机语言有关知识。高级语言是面向顾客、基本上独立于计算机种类和构造语言。其最大长处是:形式上靠近于算术语言和自然语言,概念上靠近于人们一般使用概念。高级语言一种命令可以替代几条,几十条甚至几百条汇编语言指令。因此,高级语言易学易用,通用性强,应用广泛。高级语言种类繁多,可以从应用特点和对客观系统描述两个方面对其深入分类。python,c++ ,visual basic,java都属于高级程序设计语言。故本题选D。 11.B 【详解】 本题重要考察Python语法。Python3.8支持中文做标识符,Python标识符辨别字母
28、大小写,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选项。 1
29、3.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
30、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数据类
31、型有字符串,布尔类型,整数,浮点数等。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(“//”表达整除,
32、表达取余)。③g=x%10。④假如满足 x==(b**3 + s**3 + g**3),则输出“三位数之内水仙花是:x”,故此处填print ("三位数之内水仙花是:"+str(x))。
17.myRank.append(A[i]) j < len(B) k 33、为j < len(B);算法二中引入变量k,用以记录i与j和,当k不大于len(A)+len(B)-1阐明两列表未结束,因此④处为k 34、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, 35、并以行列形式显示在列表框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 36、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转换为字符型。






