资料python软件编程等级考试三级编程实操题.docx
- 文档编号:10747977
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:18
- 大小:119.09KB
资料python软件编程等级考试三级编程实操题.docx
《资料python软件编程等级考试三级编程实操题.docx》由会员分享,可在线阅读,更多相关《资料python软件编程等级考试三级编程实操题.docx(18页珍藏版)》请在冰豆网上搜索。
资料python软件编程等级考试三级编程实操题
资料python软件编程等级考试(三级)编程实操题
一、选择题
1.以下哪个不是python关键字()
A.coutB.fromC.notD.or
2.在python中,下列哪个选项是正确的赋值语句()
A.5s=80B.2018=xC.a+b=cD.s=s+5
3.在PythonShell环境下,依次执行下列语句后,显示结果()。
data=[172,9,165,29,156,21]
max(data)
A.9B.165C.172D.21
4.在Python程序设计语言中,用于输入和输出的函数分别是()
A.read()和write( )B.input()和output( )
C.input()和print( )D.cin()和cout()
5.Python中变量的命名遵循的规则,不正确的是()
A.必须以字母或下划线开头,后面可以是字母、数字或下划线。
B.区分大小写
C.不区分大小写
D.不能使用保留字
6.有python程序如下
a=int(input())
b=int(input())
c=input()
ifc=='+':
print(a+b)
elifc=='-':
print(a-b)
elifc=='*':
print(a*b)
elifc=='/':
print(a/b)
else:
print(“输入错误,请重试”)
当程序运行后,小新依次输入92*
程序输出结果应为()
A.18B.11C.7D.4
7.以下不属于高级程序设计语言的是()。
A.C++B.VBC.机器语言D.Python
8.下列选项中,不能作为python程序变量名的是()
A.abcB.abc123C.123abcD.abc__123
9.下列可以导入Python模块的语句是()
A.importmodule
B.inputmodule
C.printmodule
D.defmodule
10.以下选项中,不是Python中文件操作的相关函数是()。
A.open()B.load()
C.read()D.write()
11.在Python中,显示出信息x,并要求输入数据的是()。
A.abs(x)B.float(x)C.print(x)D.input(x)
12.如下Python程序段
foriinrange(1,4):
forjinrange(0,3):
print("Python")
语句print("Python")的执行次数是()
A.3B.4C.6D.9
13.在Python中,判断n是否为偶数的表达式是()
A.n/2=0
B.n%2==0
C.n%2=0
D.n/2==0
14.在Python中,返回x的绝对值的函数是()。
A.abs(x)B.bin(x)C.all(x)D.input(x)
15.在Python中,设a=2,b=3,表达式not(b-a>0)值是()
A.1B.-1C.TrueD.False
二、程序填空
16.某仓库物品代码格式为“X-XXXXXXX-Y”,其中“X”和“Y”均为0到9之间的数字,“Y”为校验码。
校验码由前面9个X计算得到,计算方法为:
从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,将该结果除以10,所得余数即为校验码。
用Python设计一个程序,输入物品代码,判断输入的代码中校验码是否正确,如果正确输出“正确”,否则输出“错误"。
运行样例如下所示:
样例1:
输入:
2-163-91475-4
输出:
正确
样例2:
输入:
2-163-91475-5
输出:
错误
(1)Python程序实现如下,请在划线处填入正确的代码:
s=input("输入物品代码:
")
a=[]
foriinrange(0,13):
if___
a.append(int(s[i]))#append()函数用于在列表末尾添加新的对象
sum=0
foriinrange(0,9):
____
sdm=sum%10
___
ifsdm==ydm:
print("正确")
else:
print("错误")
17.编写Python程序实现如下功能:
输入年月日,输入格式如“2021-06-21”,年月日之间用“-”分隔。
判断这一天是这一年的第几天。
以2021-06-21为例,前面5个月总天数,加上21天即这一天是本年的第几天。
特殊情况,当输入的年份是闰年时,2月份有29天。
闰年的判断方式如下:
I、能被4整除,但不能被100整除;
II、能被400整除;
(1)“2020-05-20”这一天是这一年的第_________天。
(2)编写Python代码如下,在划线处填入正确的代码
_________________
_________________
_________________
(3)加框处的代码有误,请改正。
改正:
_________________
mon=[31,28,31,30,31,30,31,31,30,31,30,31]#mon中存储1-12每个月的天数
s=input("请输入年月日:
")
'month=int(s[5:
7])
①
sum=0
foriinrange(②):
sum+=mon[i]
sum+=day
if
:
isleap=True
else:
isleap=False
if③
sum+=1
print("这一天是当年的第"+str(sum)+''天'')
18.某字符转置算法描述如下:
将字符串(均为大写字符)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)请在划线处填入合适代码。
PrivateSubCommandl_Click()
Dima(1To100)AsInteger´存储字符串,长度不超过100个字符
Dimb(1To100)AsInteger存储转置矩阵,长度不超过10*10
Dimc(1To100)AsLong
DimsAsString,tmpAsString
DimkAsInteger,tAsInteger,iAsInteger,jAsInteger
DimnAsInteger,mAsInteger,lensAsInteger
s=Textl.Text´在Textl中输入原始字符串
k=Val(Text2.Text)´在Text2中输入区块大小K
Randomize
Fori=1Tok^2
b(i)=Int(Rnd*9)+1
tmp=tmp十Str(b(i))
IfiModk=0Then
List2.AddItemtmp
tmp="".
EndIf
Nexti
lens=Len(s):
n=lens
Fori=1Ton
tmp=Mid(s,i,1)
①__________
Listl.AddItemStr(a(i))
Nexti
DoWhilenModk<>0
n=n十1
a(n)=0
Listl.AddItemStr(a(n))
Loop
Fori=1Ton
m=(i―1)Modk+1
t=1
Forj=②__________
c(i)=a(j)*b((m-1)*k+t)+c(i)
t=t+1
Nextj
Nexti
Fori=1Ton
List3.AddItemStr(c(i))
Nexti
s=″″
Fori=1Tolens
③__________
s=s+Chr(t+64)}
Nexti
Text3.Text=s´在Text3中输出转置后的字符串
EndSub
19.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。
编写程序求出这些小朋友的可能人数。
实现上述功能的程序如下,请在程序划线处填入合适的代码。
________
a=[]
foriinrange(100,1000):
if_____________:
a.append(i)
total+=1
print("这群小朋友总的人数有:
")
forjinrange(len(a)):
print(____,end='、')
print('')
print('可能情况数为:
',total,'种')
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
;
划线处③处应该填入的语句为:
。
20.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。
21.分析完善程序
已知包含25项的数列:
1,2/3,3/5,....,24/47,25/49。
问题1:
写出该数列的通项公式f(n)=_①
问题2:
以下是计算S=1+2/3+3/5+...+24/47+25/49的程序,请补全代码:
s=0
foriinrange(1,26):
s=s+②
print(“s=”,s)
补充完成上述通项公式和程序:
①f(n)=_________
②___________
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.A
【详解】
本题主要考查Python关键字。
关键字from一般用于类的导入,not、or是逻辑运算符,cout不是Python关键字,故本题选A选项。
解析:
A
【详解】
本题主要考查Python关键字。
关键字from一般用于类的导入,not、or是逻辑运算符,cout不是Python关键字,故本题选A选项。
2.D
【详解】
本题主要考查Python赋值语句。
“5s”不是一个合法的变量名,不能将变量x赋给一个数值或表达式,可以将s+5赋给变量s,故本题选D选项。
解析:
D
【详解】
本题主要考查Python赋值语句。
“5s”不是一个合法的变量名,不能将变量x赋给一个数值或表达式,可以将s+5赋给变量s,故本题选D选项。
3.C
【详解】
本题主要考查Python函数。
max当接收的是列表,则返回列表中最大的元素,故执行下列语句后,显示结果172,故本题选C选项。
解析:
C
【详解】
本题主要考查Python函数。
max当接收的是列表,则返回列表中最大的元素,故执行下列语句后,显示结果172,故本题选C选项。
4.C
【详解】
本题主要考查Python程序设计语言中的输入和输出函数。
input()函数返回值默认是字符串。
print()函数默认是输出后换行。
因此C选项正确。
【点睛】
解析:
C
【详解】
本题主要考查Python程序设计语言中的输入和输出函数。
input()函数返回值默认是字符串。
print()函数默认是输出后换行。
因此C选项正确。
【点睛】
5.C
【详解】
本题主要考查规则。
Python中变量名可以包括字母、数字、下划线,但是数字不能做为开头,系统关键字不能做变量名使用,除了下划线之个,其它符号不能做为变量名使用,Python的变量名是区
解析:
C
【详解】
本题主要考查规则。
Python中变量名可以包括字母、数字、下划线,但是数字不能做为开头,系统关键字不能做变量名使用,除了下划线之个,其它符号不能做为变量名使用,Python的变量名是区分大小写的。
因此C选项符合题意。
6.A
【详解】
本题考查Python程序段。
当程序运行后,小新依次输入92*,即a=9,b=2,c=*,则elifc==‘*’:
成立,执行print(a*b),结果为18,故本题选A。
解析:
A
【详解】
本题考查Python程序段。
当程序运行后,小新依次输入92*,即a=9,b=2,c=*,则elifc==‘*’:
成立,执行print(a*b),结果为18,故本题选A。
7.C
【详解】
本题考查计算机语言。
C++,VB,Python都属于高级程序设计语言。
机器语言则不是。
故本题选项C不属于高级程序设计语言。
解析:
C
【详解】
本题考查计算机语言。
C++,VB,Python都属于高级程序设计语言。
机器语言则不是。
故本题选项C不属于高级程序设计语言。
8.C
【详解】
本题考查的是python的变量命名。
python的变量名是由数字、字母、下划线组成,并且数字不能打头。
故选项C符合题意。
解析:
C
【详解】
本题考查的是python的变量命名。
python的变量名是由数字、字母、下划线组成,并且数字不能打头。
故选项C符合题意。
9.A
【详解】
本题主要考查Python模块的导入。
Python模块导入的关键字是import,故本题选A选项。
解析:
A
【详解】
本题主要考查Python模块的导入。
Python模块导入的关键字是import,故本题选A选项。
10.B
【详解】
本题主要考查Python文件操作函数。
open()是文件打开函数,read()、write()是文件读写函数;json.load()用于从json文件中读取数据,故本题选B选项
解析:
B
【详解】
本题主要考查Python文件操作函数。
open()是文件打开函数,read()、write()是文件读写函数;json.load()用于从json文件中读取数据,故本题选B选项。
11.D
【详解】
本题主要考查Python常用函数。
abs(x)是返回x的绝对值,float()函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。
解析:
D
【详解】
本题主要考查Python常用函数。
abs(x)是返回x的绝对值,float()函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。
12.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选项。
13.B
【详解】
本题主要考查Python表达式的运算。
Python中取余符号是“%”,“==”是用来判断两个对象的值是否相等,故判断n是否为偶数的表达式是n%2==0,故本题选B选项。
解析:
B
【详解】
本题主要考查Python表达式的运算。
Python中取余符号是“%”,“==”是用来判断两个对象的值是否相等,故判断n是否为偶数的表达式是n%2==0,故本题选B选项。
14.A
【详解】
本题主要考查Python标准函数。
在Python中,返回x的绝对值的函数是abs(x),bin()返回一个整数或者长整数的二进制表示,all()函数用于判断给定的可迭代参数中的所有
解析:
A
【详解】
本题主要考查Python标准函数。
在Python中,返回x的绝对值的函数是abs(x),bin()返回一个整数或者长整数的二进制表示,all()函数用于判断给定的可迭代参数中的所有元素是否都为TRUE,input(x)是输入函数,故本题选A选项。
15.D
【详解】
本题主要考查Python表达式的运算。
a=2,b=3,b-a>0值为True,则表达式not(b-a>0)值是False,故本题选D选项。
解析:
D
【详解】
本题主要考查Python表达式的运算。
a=2,b=3,b-a>0值为True,则表达式not(b-a>0)值是False,故本题选D选项。
二、程序填空
16."0"<=s[i]<="9"或s[i]in"0123456789”sum=sum+a[i]*(i+1)ydm=a[9]
【详解】
本题主要考查Python程序执行与调试。
①变量s保存商品仓库物品代码,若s[i]是数字则进入循环判断,否则跳过,故此处判断条件是"0"<=s[i]<="9"或s[i]in"0123456789”。
②校验码由前面9个X计算得到,计算方法为:
从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,用变量sum统计,故此处填sum=sum+a[i]*(i+1)。
③变量sdm是计算得到的校验码,变量ydm是输入的校验码,此处需要将校验码a[9]赋给变量ydm,故填ydm=a[9]。
17.day=int(s[8:
])或day=int(s[-2:
])0,month-1isleapandmonth>2year%4==0andyear%100!
=0oryear%400==0
【详解】
本题主要考查Python程序的执行与调试。
①2020年是闰年,2月是29天,故“2020-05-20”这一天是这一年的第31+29+31+30+20=141天。
②变量s是字符串型,下标从0开始,此处是将输入日期中的天取出来放到变量day中,可以使用切片操作:
从左边开始截取,也可以从右边截取,故此处填day=int(s[8:
])或day=int(s[-2:
])。
③通过循环将前month-1个月的天数加起来,故变量i的范围是0到month-1,故填0,month-1。
④变量isleap标记是不是闰年,如果isleap值为真且month>2,则sum需要递增1,故填isleapandmonth>2。
⑤由题干闰年判断条件,可知加框处应改为year%4==0andyear%100!
=0oryear%400==0。
18.①a(i)=Asc(tmp)-64或a(i)=Asc(tmp)-Asc("A")+1②i–m+1Toi–m+k③t=(c(i)–1)Mod26+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+1Toi-m十k”。
代码③处是将计算结果c(i)按原长度转换成相应大写字符,计算结果要求除以26取余,若直接写成c(i)Mod26,则导致数值26的结果为0,因此需要先减1,Mod后再加1这样的处理技巧,因此答案为“(c(i)-1)Mod26+1”。
19.total=0i%3==2andi%5==3andi%7==2a[j]
【详解】
本题主要考查Python程序的执行与调试。
①变量total用来统计有多少种情况,初始值为0,第一空填total=0。
②当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个,即if判断条件为i%3==2andi%5==3andi%7==2,满足if条件时,将该值加到列表a中,故第二空填i%3==2andi%5==3andi%7==2。
③最后通过for循环输出所有可能的数,用变量j控制,故第三空填a[j]。
20.pw=input("请输入密码:
")
password="123456"
i=1
while(i<=3):
ifpw==password:
print("恭喜你进入系统!
")
break
else:
print("请重新尝试:
",i)
pw=input("请输入密码:
")
i=i+1
【详解】
本题主要考查程序设计。
可以通过Python程序设计语言实现题干要求,可以通过while循环控制三次机会,使用if条件分支结构判断是否输入正确,具体代码如下:
pw=input("请输入密码:
")
password="123456"
i=1
while(i<=3):
ifpw==password:
print("恭喜你进入系统!
")
break
else:
print("请重新尝试:
",i)
pw=input("请输入密码:
")
i=i+1
21.n/(2*n-1)或n/(n*2-1)i/(2*i-1)或i/(i*2-1)
【详解】
本题主要考查Python程序的执行与调试。
①分析数列可知,分子第n项是n,分母第n项是2*n-1,故该数列的通项公式f(n)=n/(2*n-1)或n/(n*2-1)。
②此处是对前n项进行求和,变量是i,使用语句s=s+i/(2*i-1)或s=s+i/(i*2-1),故此处填i/(2*i-1)或i/(i*2-1)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 资料 python 软件 编程 等级 考试 三级 实操题