python软件编程等级考试一级编程实操题图文word.docx
- 文档编号:3635048
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:15
- 大小:186.35KB
python软件编程等级考试一级编程实操题图文word.docx
《python软件编程等级考试一级编程实操题图文word.docx》由会员分享,可在线阅读,更多相关《python软件编程等级考试一级编程实操题图文word.docx(15页珍藏版)》请在冰豆网上搜索。
python软件编程等级考试一级编程实操题图文word
python软件编程等级考试(一级)编程实操题图文word
一、选择题
1.Python的设计具有很强的可读性,相比其他语言具有的特色语法有以下选项,正确的是()。
A.交互式B.解释型C.面向对象D.服务端语言
2.如下Python程序段
x=2
print(x+1)
print(x+2)
运行后,变量x的值是()
A.2B.3C.5D.
3.下列Python程序段运行的结果是()
x=0
foriinrange(1,20,3):
x=x+i
print(x)
A.80B.190C.70D.210
4.下列Python程序段运行的结果是()。
i=0
sum=0
whilei<10:
ifi%3==0:
sum+=i
i+=1
print("sum=",sum)
A.sum=9B.sum=10C.sum=18D.sum=19
5.以下Python代码输出结果中说法正确的是()。
x=0
foriinrange(1,100):
x=x+i
print(x)
A.1+100的和B.1+99的和
C.1~99所有整数的和D.1~100所有整数的和
6.以下文本框内是一段用Python程序设计语言编写的源代码,功能是输出200以内能被17整除的最大正整数。
这段源代码属于()。
A.软件B.程序C.指令D.高级语言
7.我们在用Python进行数据分析的时候,经常会用到pandas库中的DataFrame,这是类似于()的数据结构()
A.一维表格B.二维表格C.三维表格D.四维表格
8.有如下Python程序,当程序运行后输入15000,则程序输出结果为()
A.2800B.2800.0C.12200D.12200.0
9.计算机能够直接识别和执行的语言是()
A.机器语言
B.汇编语言
C.Python语言
D.C语言
10.下列序列拼接错误的是()
A.list=[None]*4
B.msg=“Python”,”语言”
C.tup=“/”.join((“123”,”234”))
D.set={1,2,3}+{4,5,6}
11.Python使用函数()接收用输入的数据
A.accept()B.input()C.readline()D.print()
12.下列选项中,不属于Python语言基本数据类型的是()
A.str
B.int
C.float
D.char
13.已知a=6,b=-4,则Python表达式a/2+b%2*3的值为()
A.3B.3.0C.5D.5.0
14.python文件的扩展名是()
A.pyB.pyeC.vbpD.pyr
15.在Python中要交换变量a和b中的值,应使用的语句组是()
A.a,b=b,aB.a=c;a=b;b=c
C.a=b;b=aD.c=a;b=a;b=c
二、程序填空
16.请编写Python程序,实现如下功能需求:
1)程序运行后,给出文字提示:
“请输入一个正整数:
”
2)输入一个整数n按回车后,程序输出从1-n所有整数中既是3的倍数又是5的倍数的数。
3)不要超过5行代码。
程序运行举例:
17.阅读程序。
观察使用随机数求解百钱白鸡问题的代码并回答问题。
百千白鸡问题是经典的数学问题,原题为“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?
”翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
importrandom
whileTrue:
x=random.randrange(0,20)
y=random.randrange(0,33)
z=random.randrange(0,100)
if5*x+3*y+z/3==100andx+y+z==100:
print('公鸡',x)
print('母鸡',y)
print('小鸡',z)
(1)Python中导入库文件的命令是________。
(2)random.randrange(0,20)生成的随机数的范围是_________
。
(3)如果不想写类似random.randrange(0,20)这么长的句子,可以修改程序中的第一行为
________
(4)whileTrue的作用是______。
(5)如果whileTrue造成程序无法停止,我们可以在程序中添加一行_________。
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.小王编写了“字符串缩写”程序,实现如下功能:
1.输入一串由英文字母和数字组成的字符串,
2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“—”和最后一个字符组成的新字符段,
3.例如:
字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。
程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:
实现上述功能的程序如下,请在程序划线处填入合适的代码。
s=input("请输入字符串s:
")
_______
flag=False
result=""
foriinrange(0,k-1):
if___________________:
result=result+s[i]+"-"
flag=True
eliford(s[i])!
=ord(s[i+1])-1:
result=result+s[i]
_____
result=result+s[i+1]
print("缩写后的字符串为:
",result)
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
;
划线处③处应该填入的语句为:
。
20.编写程序。
信息社团的三个同学和Bruce一起做游戏,他们的游戏规则很简单,从1开始依次报数,每当一个数能被7整除或者十位是7就要跳过这个数,现在给出一个数N,请输入从1到N(包含N)中要跳过的数。
21.程序编写
求1+22+32+……+1002的结果
_______________________________
_______________________________
_______________________________
_______________________________
input(“运行完毕,请按回车键退出...”)
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.ABC
【详解】
本题考查Python特点的相关知识点
相比其他语言,Python具有交互式、解释型、面向对象的特色。
故本题选ABC
解析:
ABC
【详解】
本题考查Python特点的相关知识点
相比其他语言,Python具有交互式、解释型、面向对象的特色。
故本题选ABC
2.A
【详解】
本题主要考查Python程序的执行。
x=2没有发生改变,只是输出x+1、x+2的值,故本题选A选项。
解析:
A
【详解】
本题主要考查Python程序的执行。
x=2没有发生改变,只是输出x+1、x+2的值,故本题选A选项。
3.C
【详解】
本题主要考查Python程序的执行。
变量i的范围是从1~20,每次递增3,故x=0+1+4+7+10+13+16+19=70,输出x为70,故程序段运行的结果是70,故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
变量i的范围是从1~20,每次递增3,故x=0+1+4+7+10+13+16+19=70,输出x为70,故程序段运行的结果是70,故本题选C选项。
4.C
【详解】
本题考查的是Python程序。
程序分析过程如下:
i=0sum=0
i=0<100%3==0sum=0+0=0i=0+1=1
i=1<101%3==0不成立i=1
解析:
C
【详解】
本题考查的是Python程序。
程序分析过程如下:
i=0sum=0
i=0<100%3==0sum=0+0=0i=0+1=1
i=1<101%3==0不成立i=1+1=2
i=2<102%3==0不成立i=2+1=3
i=3<103%3==0sum=0+3=3i=3+1=4
i=4<104%3==0不成立i=4+1=5
i=5<105%3==0不成立i=5+1=6
i=6<106%3==0sum=3+6=9i=6+1=7
i=7<107%3==0不成立i=7+1=8
i=8<108%3==0不成立i=8+1=9
i=9<109%3==0sum=9+9=18i=9+1=10
i=10<10不成立
输出sum=18,故答案C正确。
5.C
【详解】
本题考查的是Python代码程序。
本题的关键点是range()函数,其取到的区间数值为前闭后开,所以为1-99的整数。
循环过程就是执行1-99所有整数的求和过程。
故答案为C。
解析:
C
【详解】
本题考查的是Python代码程序。
本题的关键点是range()函数,其取到的区间数值为前闭后开,所以为1-99的整数。
循环过程就是执行1-99所有整数的求和过程。
故答案为C。
6.B
【详解】
本题考查知识点是程序的定义。
软件是指包括所有在电脑运行的程序。
软件=程序+数据+文档。
程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。
程序中包括指令和数据。
解析:
B
【详解】
本题考查知识点是程序的定义。
软件是指包括所有在电脑运行的程序。
软件=程序+数据+文档。
程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。
程序中包括指令和数据。
指令是指示计算机执行某种操作的命令。
一个指令通常由两部分组成:
操作码+地址码。
高级语言是指以人类的日常语言为基础的一种编程语言。
根据它们的定义,可以得出题目中的源代码属于程序。
故B选项正确。
7.B
【详解】
本题考查的是pandas库。
pandas库中的DataFrame是一个二维的、大小可变的、成分混合的、具有标签化坐标轴(行和列)的表数据结构。
DataFrame即有行索引也有列索引,
解析:
B
【详解】
本题考查的是pandas库。
pandas库中的DataFrame是一个二维的、大小可变的、成分混合的、具有标签化坐标轴(行和列)的表数据结构。
DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典。
故本题应选B。
8.D
【详解】
本题考查的是Python的选择嵌套语句。
先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。
15000不小于等于10000,故执行tax=800
解析:
D
【详解】
本题考查的是Python的选择嵌套语句。
先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。
15000不小于等于10000,故执行tax=800+(salary-1000)*0.4=800+(15000-10000)*0.4=800+2000=2800.0。
因为salary接收的是浮点型数据。
salary-tax=15000-2800.0=12200.0。
故选项D正确。
9.A
【详解】
本题主要考查程序设计语言。
计算机能够直接识别和执行的语言是机器语言,即0和1,故本题选A选项。
解析:
A
【详解】
本题主要考查程序设计语言。
计算机能够直接识别和执行的语言是机器语言,即0和1,故本题选A选项。
10.D
【详解】
本题主要考查Python序列拼接运算。
set={}生成的是字典类型,而不是集合类型,不支持使用+,故本题选D选项。
解析:
D
【详解】
本题主要考查Python序列拼接运算。
set={}生成的是字典类型,而不是集合类型,不支持使用+,故本题选D选项。
11.B
【详解】
本题主要考查Python函数。
accept()接受一个客户端的连接请求并返回一个新的套接字,input函数用于数据的输入,readline()函数用于读取文件中的一行,print()
解析:
B
【详解】
本题主要考查Python函数。
accept()接受一个客户端的连接请求并返回一个新的套接字,input函数用于数据的输入,readline()函数用于读取文件中的一行,print()函数用于打印输出数据,故本题选B选项。
12.D
【详解】
本题主要考查Python数据类型。
python没有char类型,一个字符也是字符串,故本题选D选项。
解析:
D
【详解】
本题主要考查Python数据类型。
python没有char类型,一个字符也是字符串,故本题选D选项。
13.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选项。
14.A
【详解】
本题主要考查Python文件。
python文件的扩展名是py,故本题选A选项。
解析:
A
【详解】
本题主要考查Python文件。
python文件的扩展名是py,故本题选A选项。
15.A
【详解】
本题考查Python语句。
在Python中要交换变量a和b中的值,可以使用的语句组是t=a;a=b;b=t也可以是a,b=b,a,故本题选A。
解析:
A
【详解】
本题考查Python语句。
在Python中要交换变量a和b中的值,可以使用的语句组是t=a;a=b;b=t也可以是a,b=b,a,故本题选A。
二、程序填空
16.n=input("请输入一个正整数:
")
n=int(n)
Foriinrange(15,n+1,15)
print(i)
【详解】
本题考查的是Python循环语句。
range函数,第一个参数表示开始,第二个参数表示停止,第三个参数表示步长。
print缺省的话默认是换行输出。
17.import0~19(包括0和19)importrandomasr让程序无限循环break;
【详解】
本题主要考查Python程序的执行与调试。
①Python中导入库文件的命令是import,如importrandom。
②random.randrange(0,20)生成的随机数的范围是0~19(包括0和19)。
③如果不想写类似random.randrange(0,20)这么长的句子,可以修改程序中的第一行为importrandomasr(给random取个简单的别名)。
④whileTrue的作用是让程序无限循环。
⑤如果whileTrue造成程序无法停止,我们可以在程序中添加一行break;(满足条件后,执行break;可以跳出循环)。
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.k=len(s)ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+1])andflag==False或ord(s[i])+1==ord(s[i+1])andnotflagflag=False
【详解】
本题主要考查Python程序的执行与调试。
①第一空将输入的字符串s的长度赋给变量k,故填k=len(s)。
②flag用来标记是否有连续字符构成的升序段,第二空判断相邻位置后面字符的ASCII值是否比前面的字符的ASCII值大1且flag为False,故填ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+1])andflag==False或ord(s[i])+1==ord(s[i+1])andnotflag。
③如果不满足if判断条件,则需要将该字符加到变量result中,同时赋值flag为False,表示当前没有连续字符构成的升序段,需要继续判断寻找,故填flag=False。
20.N=int(input("请输入一个数"))
foriinrange(1,N+1):
if(i%7==0ori/10==7):
print(i,end="")
【详解】
本题考查Python语言编程解决实际问题。
本题要找到能被7整除或者十位是7的数,并且这两个条件是或的关系,其关键代码为i%7==0ori/10==7。
程序运行代码详见下图:
21.total=0#变量可任选(符合规则)foriinrange(1,101):
total=total+i*i#total=total+i**2print(total)
【详解】
本题主要考查Python程序的编写。
①变量total用来统计最终的计算结果,其初始值为0,故填total=0#变量可任选(符合规则)。
②求1+22+32+……+1002的结果,用for循环结构,变量i的范围是从1到100,故填foriinrange(1,101):
。
③计算语句是total=total+i*i#total=total+i**2。
④最后用print()函数输出计算结果total,故填print(total)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 软件 编程 等级 考试 一级 实操题 图文 word
![提示](https://static.bdocx.com/images/bang_tan.gif)