资料python软件编程等级考试(三级)编程实操题03

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

资料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<=7 B.i<7 C.i>=7 D.i>7
3.有如下python程序段:
a=[4,5,3,6,7,8,2,9,1]
m ,c=1, 1
for i in range(1, len(a)):
if a[i]>=a[i-1]:
c+=1
m=max(m, c)
else:
c=1
print (c, m)
则程序执行后,c和m的值分别是()
A.1和1 B.1和4 C.2和4 D.3和4
4.在Python Shell环境下,依次执行下列语句后,显示结果()。

A.9 B.165 C.172 D.21
5.在Python中,字符串运算符“+”的作用是把字符串进行连接,则表达式"20"+"19"+"20+19"的运算结果是( )
A.392019 B.201939 C.201920+19 D.3939
6.小明想要通过编程来解决由昆明到景东锦屏耗时最短行程问题时,最核心的工作是()
A.设计出解决问题的算法B.设计出解决问题的PPT
C.编写出Python代码D.选择一种编程软件
7.运行下列 Python程序,结果正确的是()
s="abcdefg"
c=len(s) #len 求字符串长度
for i in range(0,c):
if i<2:
print (chr(ord(s[i])+2),end=" ") # ord() 函数是 chr() 函数配对函数,将字符转ASCII值
else:
print(chr(ord(s[i]) + 3),end=" ")
A.c d f g h a B.c d f g h b C.c d f g h i j D.c d f g h c
8.王明录入程序代码并运行,出现错误提示(如下图所示),分析原因并改错,正确的是()
A.变量名1w太短B.应该写成float(input("输入体重(kg):")=1w
C.将float改为int D.变量名1w不符合 Python语言规范,不能以数字开头
9.下面哪个不是Python合法的标识符()
A.int_3 B.print
C.count D.__name__
10.Python不支持的数据类型有()。

A.char B.int C.float D.list
11.Python语言自带的IDLE环境的退出命令是()
A.Esc B.close C.回车键D.exit
12.在python中,运行以下程序,结果应为()
a=5
b=7
b+=3
a=b*20
a+=2
a=a%b
print(a,b)
A.5 7 B.20 10 C.22 7 D.2 10
13.下面Python代码运行后,a、b的值为()
a=23
b=int(a/10)
a= a-b * 10
print(a,b)
A.23 2 B.3 2 C.3 20 D.2 3
14.在Python中,表达式2**3的结果是()
A.5 B.8 C.6 D.3
15.在Python中要交换变量a和b中的值,应使用的语句组是()。

A.a,b=b,a B.a=c;a=b;b=c
C.a=b;b=a D.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 ("三位数之内的水仙花是:")
for x in _____ :
b=x//100
s=_____
g=_____
if x==(b**3 + s**3 + g**3):
_____
17.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?请帮小金完成代码编程.
def convert(s):
m=0
le=len(s)
key=s[le-1]
if key=="B":
n=2
elif key=="D":
_______
else:
n=16
i=0
while i<=le-2:
c=s[le-1-i]
if c>="0"and c<="9":
a=ord(c)-ord("0")
elif c>="A"and c<="F":
a=ord(c)-ord("A")+10
_____________
i+=1
return m
s=input("请输入算式")
result=0;suanfu1="";suanfu2="";s1=""
for i in range(len(s)):
c=s[i]
if c=="+" or c=="-" or c=="=":
__________
suanfu1=suanfu2
suanfu2=c
if suanfu1=="":
result=t
if suanfu1=="+":
result=result+t
if suanfu1=="-":
result=result-t
s1=""
else:
s1=s1+c
print("计算结果为"+str(result)+"D")
(1)将程序横线处补充完整
(2)如输入“1110B+10D-30H=”则输出结果为___________。

18.完善代码并保存。

实现功能:从键盘输入10个学生的测试成绩,输出最高分和最低分。

cj=[]
for i in range(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个人的年龄并显示。

def age(n):
if n == 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 ______:
for i in range(month-1):
tall_day +=f_run[i]
__________
else:
for i in range(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,可知条件为while i<=7,故本题选A。

解析:A
【详解】
本题考查循环语句。

在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则
s=1*3*5*7=105,最后结果为105,可知条件为while i<=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位并输出,故程序运行的结果是c d f g h
解析:C
【详解】
本题主要考查Python程序的执行。

c是字符串s的长度,变量i的范围是0~c-1,如果
i<2,将该字符后移2位并输出,否则将该字符后移3位并输出,故程序运行的结果是c d f g h i j,故本题选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%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.n=10 m=m+(n**(le-2-i))*a t=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.x cj
【详解】
本题主要考查Python程序执行与调试。

①从键盘输入10个学生的测试成绩,range(a,b)的范围是从a~b,但不包括b,故第一空填10。

②每输入一个数x,将其通过append函数加到列表cj中,故第二空填x。

③求最大值用max函数,求最小值用min函数,故第三空填cj。

19.c 5
【详解】
本题主要考查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.for i in range(100,1000):
a=i//100
b= (i//10)%10
c=i%10
if i==a*a*a+b*b*b+c*c*c:
print(i)
【详解】
本题主要考查程序设计。

可通过Python程序设计实现题干要求,通过for循环找出水仙花数,依次取出三位数的每一位数,其中百位a= i//100,十位b= (i//10)%10,个位c=i%10,然后判断是否是水仙花数,具体代码如下:
for i in range(100,1000):
a=i//100
b= (i//10)%10
c=i%10
if i==a*a*a+b*b*b+c*c*c:
print(i)
21.int(day[5:7]) (year%4==0 and year%100!=0 or year%400==0) and month>=2 tall_day+=1 110
【详解】
本题主要考查Python程序的执行与调试。

①此处是取出字符串day中的月份赋给变量month,month是第5~第6位,str[start:end],start会包含在结果中而end却不会,故此处填int(day[5:7])。

②此处判断是不是闰年,因为闰年的二月有29天,故if判断还要判断当前的月份是不是包含2月即大于等于2月,故此处填(year%4==0 and year%100!=0 or year%400==0) and month>=2。

③如果是闰年且当前日期包括2月,则循环完tall_day需增
加1天,故填tall_day+=1。

④输入“2020-4-19”为当年的第110天。

相关文档
最新文档