资料python软件编程等级考试三级编程实操题03.docx
《资料python软件编程等级考试三级编程实操题03.docx》由会员分享,可在线阅读,更多相关《资料python软件编程等级考试三级编程实操题03.docx(16页珍藏版)》请在冰点文库上搜索。
资料python软件编程等级考试三级编程实操题03
资料python软件编程等级考试(三级)编程实操题03
一、选择题
1.已知字符串a="python",则a[1]的值为()
A."p"B."py"C."Py"D."y"
2.运行下列Python程序
i=1
s=1
while①:
s=s*i
i+=2
print(s)
当输出结果为105时,则①处应填入()
A.i<=7B.i<7C.i>=7D.i>7
3.有如下python程序段:
a=[4,5,3,6,7,8,2,9,1]
m,c=1,1
foriinrange(1,len(a)):
ifa[i]>=a[i-1]:
c+=1
m=max(m,c)
else:
c=1
print(c,m)
则程序执行后,c和m的值分别是()
A.1和1B.1和4C.2和4D.3和4
4.在PythonShell环境下,依次执行下列语句后,显示结果()。
data=[172,9,165,29,156,21]
max(data)
A.9B.165C.172D.21
5.在Python中,字符串运算符“+”的作用是把字符串进行连接,则表达式"20"+"19"+"20+19"的运算结果是()
A.392019B.201939C.201920+19D.3939
6.小明想要通过编程来解决由昆明到景东锦屏耗时最短行程问题时,最核心的工作是()
A.设计出解决问题的算法B.设计出解决问题的PPT
C.编写出Python代码D.选择一种编程软件
7.运行下列Python程序,结果正确的是()
s="abcdefg"
c=len(s)#len求字符串长度
foriinrange(0,c):
ifi<2:
print(chr(ord(s[i])+2),end="")#ord()函数是chr()函数配对函数,将字符转ASCII值
else:
print(chr(ord(s[i])+3),end="")
A.cdfghaB.cdfghbC.cdfghijD.cdfghc
8.王明录入程序代码并运行,出现错误提示(如下图所示),分析原因并改错,正确的是()
A.变量名1w太短B.应该写成float(input("输入体重(kg):
")=1w
C.将float改为intD.变量名1w不符合Python语言规范,不能以数字开头
9.下面哪个不是Python合法的标识符()
A.int_3B.print
C.countD.__name__
10.Python不支持的数据类型有()。
A.charB.intC.floatD.list
11.Python语言自带的IDLE环境的退出命令是( )
A.EscB.closeC.回车键D.exit
12.在python中,运行以下程序,结果应为()
a=5
b=7
b+=3
a=b*20
a+=2
a=a%b
print(a,b)
A.57B.2010C.227D.210
13.下面Python代码运行后,a、b的值为()
a=23
b=int(a/10)
a=a-b*10
print(a,b)
A.232B.32C.320D.23
14.在Python中,表达式2**3的结果是()
A.5B.8C.6D.3
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.(项目情境)水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:
1**3+5**3+3**3=153。
这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。
(问题求解)设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。
需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。
请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。
print("三位数之内的水仙花是:
")
forxin_____:
b=x//100
s=_____
g=_____
ifx==(b**3+s**3+g**3):
_____
17.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?
请帮小金完成代码编程.
defconvert(s):
m=0
le=len(s)
key=s[le-1]
ifkey=="B":
n=2
elifkey=="D":
_______
else:
n=16
i=0
whilei<=le-2:
c=s[le-1-i]
ifc>="0"andc<="9":
a=ord(c)-ord("0")
elifc>="A"andc<="F":
a=ord(c)-ord("A")+10
_____________
i+=1
returnm
s=input("请输入算式")
result=0;suanfu1="";suanfu2="";s1=""
foriinrange(len(s)):
c=s[i]
ifc=="+"orc=="-"orc=="=":
__________
suanfu1=suanfu2
suanfu2=c
ifsuanfu1=="":
result=t
ifsuanfu1=="+":
result=result+t
ifsuanfu1=="-":
result=result-t
s1=""
else:
s1=s1+c
print("计算结果为"+str(result)+"D")
(1)将程序横线处补充完整
(2)如输入“1110B+10D-30H=”则输出结果为___________。
18.完善代码并保存。
实现功能:
从键盘输入10个学生的测试成绩,输出最高分和最低分。
cj=[]
foriinrange(0,________):
x=float(input("请输入一个数"))
cj.append(________)
print(max(cj),min(________))
input("运行完毕,请按回车键退出...")
19.完善程序实现如下功能并保存:
有5个人坐在一起,第5个人说他比第4个人小3岁;第4个人说他比第3个人小3岁;第3个人说他比第2个人小3岁;第2个人又说他比第1个人小3岁;第1个人说他是38岁。
编写程序,计算出第5个人的年龄并显示。
defage(n):
ifn==1:
c=________
else:
c=age(n-1)-3
return________
print("第5人的年龄:
",age(________))
input("运行完毕,请按回车键退出...")
20.求水仙花数(一个三位数,其各位数字立方和等于该数字本身)
21.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:
能被4整除但不能被100整除或能被400整除,闰年的2月为29天)
day=input("请输入年月日(格式举例:
2000-01-05):
")
year=int(day[:
4])
month=_________
sun=int(day[8:
10])
print(year,month,sun)
f_run=[31,28,31,30,31,30,31,31,30,31,30,31]
tall_day=0
if______:
foriinrange(month-1):
tall_day+=f_run[i]
__________
else:
foriinrange(month-1):
tall_day+=f_run[i]
tall_day+=sun
print(day+"是当年的第"+str(tall_day)+"天")
(1)将程序横线处补充完整
(2)如输入“2020-4-19”为当年的第_____天。
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python字符串。
字符串索引从0开始,a[0]="p",a[1]="y",故本题选D选项。
解析:
D
【详解】
本题主要考查Python字符串。
字符串索引从0开始,a[0]="p",a[1]="y",故本题选D选项。
2.A
【详解】
本题考查循环语句。
在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则s=1*3*5*7=105,最后结果为105,可知条件为whilei<=7,故本题选A。
解析:
A
【详解】
本题考查循环语句。
在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则s=1*3*5*7=105,最后结果为105,可知条件为whilei<=7,故本题选A。
3.B
【详解】
本题主要考查Python程序的执行。
m=1,c=1,当i=1时,5>4,c+=1=2,m=max(m,c)=2;当i=2时,3<5,c=1;当i=3时,6>3,c+=1=2,m=ma
解析:
B
【详解】
本题主要考查Python程序的执行。
m=1,c=1,当i=1时,5>4,c+=1=2,m=max(m,c)=2;当i=2时,3<5,c=1;当i=3时,6>3,c+=1=2,m=max(m,c)=2;当i=4时,7>6,c+=1=3,m=max(m,c)=3;当i=5,8>7,c+=1=4,m=max(m,c)=4;当i=6时,2<8,c=1;当i=7时,9>2,c+=1=2,m=max(m,c)=4;当i=8时,1<9,c=1,循环结束,c和m的值分别是1和4,故本题选B选项。
4.C
【详解】
本题主要考查Python函数。
max当接收的是列表,则返回列表中最大的元素,故执行下列语句后,显示结果172,故本题选C选项。
解析:
C
【详解】
本题主要考查Python函数。
max当接收的是列表,则返回列表中最大的元素,故执行下列语句后,显示结果172,故本题选C选项。
5.C
【详解】
本题考查的是python语言。
在python语言中,双引号之间是输出的是字符串。
三对字符串之间都是原样输出。
故选项C正确。
解析:
C
【详解】
本题考查的是python语言。
在python语言中,双引号之间是输出的是字符串。
三对字符串之间都是原样输出。
故选项C正确。
6.A
【详解】
本题考查的是计算机解决问题。
计算机解决问题的步骤:
分析问题、设计算法、编写程序、调试运行、检测结果,其中最核心的步骤是设计算法。
故本题应选A。
解析:
A
【详解】
本题考查的是计算机解决问题。
计算机解决问题的步骤:
分析问题、设计算法、编写程序、调试运行、检测结果,其中最核心的步骤是设计算法。
故本题应选A。
7.C
【详解】
本题主要考查Python程序的执行。
c是字符串s的长度,变量i的范围是0~c-1,如果i<2,将该字符后移2位并输出,否则将该字符后移3位并输出,故程序运行的结果是cdfgh
解析:
C
【详解】
本题主要考查Python程序的执行。
c是字符串s的长度,变量i的范围是0~c-1,如果i<2,将该字符后移2位并输出,否则将该字符后移3位并输出,故程序运行的结果是cdfghij,故本题选C选项。
8.D
【详解】
本题考查的是Python的变量名。
在Python中变量名是由数字、字母、下划线组成,且不能以数字开头。
故本题应选D。
解析:
D
【详解】
本题考查的是Python的变量名。
在Python中变量名是由数字、字母、下划线组成,且不能以数字开头。
故本题应选D。
9.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
print是Python的关键字,不是合法的标识符,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
print是Python的关键字,不是合法的标识符,故本题选B选项。
10.A
【详解】
本题考查Python数据类型相关的知识点
Python不支持char类型、byte类型。
故本题选A选项
解析:
A
【详解】
本题考查Python数据类型相关的知识点
Python不支持char类型、byte类型。
故本题选A选项
11.D
【详解】
本题主要考查Python基本知识。
Python程序设计语言默认安装时,会有一个自带的集成开发环境IDLE。
要创建Python程序文件,可以利用IDLE中的“文件“菜单。
可使用exit(
解析:
D
【详解】
本题主要考查Python基本知识。
Python程序设计语言默认安装时,会有一个自带的集成开发环境IDLE。
要创建Python程序文件,可以利用IDLE中的“文件“菜单。
可使用exit()或quit()退出Python,因此D选项正确。
【点睛】
12.D
【详解】
本题考查Python程序的运算。
a=5,b=7,b+=3=10,a=b*20=200,a+=2=202,a=a%b=2。
最后a=2,b=10,故本题选D。
解析:
D
【详解】
本题考查Python程序的运算。
a=5,b=7,b+=3=10,a=b*20=200,a+=2=202,a=a%b=2。
最后a=2,b=10,故本题选D。
13.B
【详解】
本题主要考查Python程序的执行。
a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2
解析:
B
【详解】
本题主要考查Python程序的执行。
a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2,故本题选B选项。
14.B
【详解】
本题主要考查Python基本运算符。
“**”是幂运算,x**y为返回x的y次幂,因此B选项正确。
【点睛】
解析:
B
【详解】
本题主要考查Python基本运算符。
“**”是幂运算,x**y为返回x的y次幂,因此B选项正确。
【点睛】
15.A
【详解】
本题主要考查Python赋值语句。
选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故本题选A选项。
解析:
A
【详解】
本题主要考查Python赋值语句。
选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故本题选A选项。
二、程序填空
16.range(100,1000)x//10%10x%10print("三位数之内的水仙花是:
"+str(x))
【详解】
本题主要考查Python程序的执行与调试。
①水仙花数是指一个三位数,即[100,999],forxinrange(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.n=10m=m+(n**(le-2-i))*at=convert(s1)-24D
【详解】
本题主要考查Python程序的执行与调试。
①二进制的权值是2,十进制的权值是10,十六进制的权值是16,此处是十进制的情况,故填n=10。
②二进制、十六进制转化为十进制的方法是“按权展开、逐项相加”,从右往左加,变量i的初值等于0,故此处要变换为le-2-i,故此处填m=m+(n**(le-2-i))*a。
③当字符c是“+”、“-”、“=”时,则表明第一个运算数已全部保存到变量s1中,此处需要将其转化为十进制保存到变量t中,故填t=convert(s1)。
④1110B转化为十进制数是14D,30H转化为十进制数是48D,故1110B+10D-30H=-24D。
18.xcj
【详解】
本题主要考查Python程序执行与调试。
①从键盘输入10个学生的测试成绩,range(a,b)的范围是从a~b,但不包括b,故第一空填10。
②每输入一个数x,将其通过append函数加到列表cj中,故第二空填x。
③求最大值用max函数,求最小值用min函数,故第三空填cj。
19.c5
【详解】
本题主要考查Python程序执行与调试。
①第一个人38岁,n标记第几个人,变量c保存年龄,当n=1时,c=38,故第一空填38。
②后面的人都比前一个人小3岁,故当n不等于1时,调用递归函数age,c=age(n-1)-3,最后返回第n个人的年龄c,第二空填c。
③此处是返回第5个人的年龄,即age(5),填5。
20.foriinrange(100,1000):
a=i//100
b=(i//10)%10
c=i%10
ifi==a*a*a+b*b*b+c*c*c:
print(i)
【详解】
本题主要考查程序设计。
可通过Python程序设计实现题干要求,通过for循环找出水仙花数,依次取出三位数的每一位数,其中百位a=i//100,十位b=(i//10)%10,个位c=i%10,然后判断是否是水仙花数,具体代码如下:
foriinrange(100,1000):
a=i//100
b=(i//10)%10
c=i%10
ifi==a*a*a+b*b*b+c*c*c:
print(i)
21.int(day[5:
7])(year%4==0andyear%100!
=0oryear%400==0)andmonth>=2tall_day+=1110
【详解】
本题主要考查Python程序的执行与调试。
①此处是取出字符串day中的月份赋给变量month,month是第5~第6位,str[start:
end],start会包含在结果中而end却不会,故此处填int(day[5:
7])。
②此处判断是不是闰年,因为闰年的二月有29天,故if判断还要判断当前的月份是不是包含2月即大于等于2月,故此处填(year%4==0andyear%100!
=0oryear%400==0)andmonth>=2。
③如果是闰年且当前日期包括2月,则循环完tall_day需增加1天,故填tall_day+=1。
④输入“2020-4-19”为当年的第110天。