编程python软件编程等级考试三级编程实操题03.docx
《编程python软件编程等级考试三级编程实操题03.docx》由会员分享,可在线阅读,更多相关《编程python软件编程等级考试三级编程实操题03.docx(13页珍藏版)》请在冰豆网上搜索。
![编程python软件编程等级考试三级编程实操题03.docx](https://file1.bdocx.com/fileroot1/2023-1/1/bac76b02-cc49-4953-965d-8d5517346957/bac76b02-cc49-4953-965d-8d55173469571.gif)
编程python软件编程等级考试三级编程实操题03
【编程】python软件编程等级考试(三级)编程实操题03
一、选择题
1.在Python程序设计语言中,表示整除的符号是()
A./B.%C.modD.//
2.在Python程序中,已知x=2,y=1,当执行语句y+=x*2,y的值是()
A.3B.4C.5D.6
3.在Python中,通过()函数查看字符的编码。
A.int()B.ord()C.chr()D.yolk()
4.现有如下Python程序:
List=["Happy","new","year!
"]
s=List[1]
d=s[:
-1]
执行该程序后,d的值为()
A."py"B."Happ"C."ew"D."ne"
5.下列Python数据不属于列表的是()
A.{24,56,7,89,4}B.[24,56,7,89,4]
C.[24,56,’a’,’猕猴桃’]D.[’A’,’B’’C’,’D’]
6.下列Python程序段的运行结果是()
i=0
sum=0
whilei<10:
ifi%2==0:
sum+=i
i+=1
print(‘sum=’,sum)
A.sum=18B.sum=20C.sum=22D.sum=30
7.关于Python的内存管理,下列说法错误的是()
A.变量不必事先声明B.变量无需先创建和赋值就可直接使用
C.变量无须制定类型D.可以使用del释放资源
8.韦沐沐同学利用Python软件编写“求能被3整除的数”程序,在设计算法环节,使用流程图描述算法,如右图所示,其中空白处可以填入的是()
A.A÷3==0B.A/3==0C.A\3==0D.A%3==0
9.如图Python代码执行后,a,b的值分别为:
()
A.5,10B.10,5C.5,5D.10,10
10.在Python中,已知a=3,b=5,运行下列程序段后,a和b的值为
a=a*b
b=a//b
a=a//b
A.a=3b=5B.a=15b=3C.a=5b=5D.a=5b=3
11.下列Python表达式中,能正确表示不等式方程|x|>1解的是()
A.x>1orx<-1B.x>-1orx<1C.x>1andx<-1D.x>-1andx<1
12.python的命令行提示符是()
A.###B.>>>C.///D.C:
》
13.已知a=6,b=-4,则Python表达式a/2+b%2*3的值为()
A.3B.3.0C.5D.5.0
14.在Python中,正确的赋值语句是()
A.x+y=10B.x=2yC.x=y=50D.3y=x+1
15.下列python表达式结果为5的是()
A.abs(int(-5.6))B.len("3+5>=6")C.ord("5")D.round(5.9)
二、程序填空
16.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。
编写python程序,实现如下功能:
输入n的值,统计显示n以内的所有双胞胎数。
程序运行界面如图所示:
实现上述功能的程序如下,请在划线处填入合适的代码。
importmath
defisprime(x):
______
foriinrange(2,int(math.sqrt(x))+1):
ifx%i==0:
f=False
returnf
n=int(input("请输入一个正整数n:
"))
c=0
k=3
whilek<=n-2:
ifisprime(k)and______________:
c+=1
print("第"+str(c)+"对双胞胎数:
",k,'和',k+2)
_______
print("共有"+str(c)+"对双胞胎数")
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
;
划线处③处应该填入的语句为:
。
17.辗转相除法,又称欧几里德算法,用于计算两个正整数m、n的最大公约数。
它是已知最古老的算法,其可追溯至公元前300年前。
辗转相除法的算法步骤是,对于给定的两个正整数m、n(m>n),用m除以n得到余数r,若余数r不为0,就将n和r构成新的一对数(m=n,n=r),继续上面的除法,直到余数为0,这时m就是原来两个数的最大公约数。
因为这个算法需要反复进行除法运算,故被形象地命名为“辗转相除法”。
小曲设计了辗转相除法的算法,请根据下面算法回答问题。
描述一
描述二
描述三
①输入两个正整数m,n(m>n);
②计算m除以n所得的余数r;
③m=n,n=r;
④若r=0,则m,n的最大公约数等于m;否则转到步骤②;
⑤输出最大公约数m;
⑥结束。
(1)描述一是________描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。
(2)在描述三中代码4到6行作用是__________。
(3)在描述三程序设计中,补充代码第8行划线处为__________。
18.现有字典如下,根据题目要求,写出相关的表达式:
xingzuo={‘小明’:
‘巨蟹座’,‘小红’:
‘处女座’,‘小兰’:
‘金牛座’}
(1)现要取出小红所对应的星座,写出相关表达式:
___________________________________________________________
(2)现发现,“小兰”同学的星座应该是“水瓶座”,请帮忙修改。
__________________________________________________________
(3)现发现,在字典中漏写了关于“小贝”的信息,现已知“小贝”为“双子座”,请帮忙添加。
_________________________________________________________
(4)写出删除该字典的表达式:
___________________________________________________________
19.完善程序实现以下功能并保存。
输入一元二次方程的系数a,b,c的值,求解一元二次方程ax2+bx+c=0(a≠0)
#请不要更改源程序的结构,删除原题里的①、②。
填写正确的代码,使程序完善
importmath
a=float(input("请输入方程系数a(!
=0):
"))
b=float(input("请输入方程系数b:
"))
c=float(input("请输入方程系数c:
"))
delta=b*b-4*a*c
ifdelta>________:
x1=(-b+math.sqrt(delta))/(2*a)
x2=(-b-math.sqrt(delta))/(2*a)
print("方程有两个不同的解",x1,x2)
elifdelta==0:
x1=________
print("方程有两个相同的解",x1)
else:
print("方程无解")
input("运行完毕,请按回车键退出...")
20.程序设计:
唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩萨。
观音菩萨告诉孙悟空,在天庭里身高正好为1000米的那位神仙可以降伏此妖。
于是悟空立刻来到天上,在玉皇大帝的神仙册上看到了按身高从矮到高排列有10000个神仙。
由于时间紧迫,悟空想用最短的时间找到这位神仙,这样才可以尽快解救唐僧。
代码如下:
List=list(map(int,input(“请按身高递增顺序依次输入10000个神仙的身高”).split()))
left=1
right=10000
while①
mid=②
ifList[mid]==1000:
③
elifList[mid]<1000:
④
else:
⑤
print(“能帮孙悟空的神仙在第{0}位上”.format(mid+l))
(1)程序代码中①处正确的代码是(_______)。
A.left<rightB.left<=rightC.left!
=rightD.left>right
(2)程序代码中②处正确的代码是(_______)。
A.(left+right)/2B.(left+right)\2
C.(left+right)//2D.(left+right)\\2
(3)程序代码中③处正确的代码是(_______)。
A.passB.print(mid)zC.breakD.continue
(4)程序代码中④处正确的代码是(_______)。
-
A.left=midB.right=midC.left=mid+1D.right=mid-1
(5)程序代码中⑤处正确的代码是(_______)。
A.left=midB.right=midC.left=mid+1D.right=mid-1
21.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,
请输入以下代码,自己输入数据运行,结果截图提交
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python中的运算符。
"/"是除法运算,“%”是取余运算,mod是求余函数,“//”是整除运算,因此D选项正确。
【点睛】
解析:
D
【详解】
本题主要考查Python中的运算符。
"/"是除法运算,“%”是取余运算,mod是求余函数,“//”是整除运算,因此D选项正确。
【点睛】
2.C
【详解】
本题主要考查Python程序语句。
x=2,y=1,语句y+=x*2等价于y=y+x*2=1+2*2=5,故y的值是5,故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序语句。
x=2,y=1,语句y+=x*2等价于y=y+x*2=1+2*2=5,故y的值是5,故本题选C选项。
3.B
【详解】
本题主要考查Python字符函数。
int()函数用于将一个字符串或数字转换为整型;ord()函数它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Uni
解析:
B
【详解】
本题主要考查Python字符函数。
int()函数用于将一个字符串或数字转换为整型;ord()函数它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Unicode数值;chr()函数返回当前整数对应的ASCII字符;yolk是一个python工具,用于获取有关已安装的python包的信息,故本题选B选项。
4.D
【详解】
本题主要考查Python列表运算。
s=List[1]="new",d=s[:
-1]="ne"(表示去除字符串s最后一个字符剩下的部分),故本题选D选项。
解析:
D
【详解】
本题主要考查Python列表运算。
s=List[1]="new",d=s[:
-1]="ne"(表示去除字符串s最后一个字符剩下的部分),故本题选D选项。
5.A
【详解】
本题考查Python语句。
列表是Python中的一种数据类型,是用[]括起来的一组有顺序的数据。
选选项B,C,D都属于列表,选项A不属于列表,故本题选A。
解析:
A
【详解】
本题考查Python语句。
列表是Python中的一种数据类型,是用[]括起来的一组有顺序的数据。
选选项B,C,D都属于列表,选项A不属于列表,故本题选A。
6.B
【详解】
本题考查Python语句。
根据while可知,当ifi%2==0成立时,sum+=i,i=2,4,6,8时,If条件成立,故sum=2+4+6+8=20,又根据print(‘sum
解析:
B
【详解】
本题考查Python语句。
根据while可知,当ifi%2==0成立时,sum+=i,i=2,4,6,8时,If条件成立,故sum=2+4+6+8=20,又根据print(‘sum=’,sum),则最后运行结果是sum=20,故本题选B。
7.B
【详解】
本题主要考查Python的变量。
变量需要先创建和初始化,才可以使用,故本题选B选项。
解析:
B
【详解】
本题主要考查Python的变量。
变量需要先创建和初始化,才可以使用,故本题选B选项。
8.D
【详解】
本题考查的是流程图及Python表达式相关知识。
能被3整除的数即除3的余数为0,在Python中%表示求余,故本题应选D。
解析:
D
【详解】
本题考查的是流程图及Python表达式相关知识。
能被3整除的数即除3的余数为0,在Python中%表示求余,故本题应选D。
9.B
【详解】
本题主要考查Python程序的执行。
a=5,b=10,c=a=5,a=b=10,b=c=5,故代码执行后,a,b的值分别为:
10和5,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序的执行。
a=5,b=10,c=a=5,a=b=10,b=c=5,故代码执行后,a,b的值分别为:
10和5,故本题选B选项。
10.D
【详解】
本题主要考查Python表达式的运行。
a=3,b=5,a=a*b=15,b=a//b=15//5=3,a=a//b=15//3=5,故运行下列程序段后,a和b的
解析:
D
【详解】
本题主要考查Python表达式的运行。
a=3,b=5,a=a*b=15,b=a//b=15//5=3,a=a//b=15//3=5,故运行下列程序段后,a和b的值为a=5b=3,故本题选D选项。
11.A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1或者x>1,用Python表示是x>1orx<-1,故本题选A选项。
解析:
A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1或者x>1,用Python表示是x>1orx<-1,故本题选A选项。
12.B
【详解】
本题主要考查Python命令提示符。
python的命令行提示符是>>>,故本题选B选项。
解析:
B
【详解】
本题主要考查Python命令提示符。
python的命令行提示符是>>>,故本题选B选项。
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.C
【详解】
本题主要考查Python赋值语句。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
赋值语句是将等号右边的表达式赋给左边的变量,x=y=50等价于x=50,y=
解析:
C
【详解】
本题主要考查Python赋值语句。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
赋值语句是将等号右边的表达式赋给左边的变量,x=y=50等价于x=50,y=50,故正确的赋值语句是x=y=50,故本题选C选项。
15.A
【详解】
本题主要考查Python表达式。
int是取整函数,abs求绝对值函数,len返回字符串的长度,ord()函数主要用来返回对应字符的ascii码,round是四舍五入函数,故abs(in
解析:
A
【详解】
本题主要考查Python表达式。
int是取整函数,abs求绝对值函数,len返回字符串的长度,ord()函数主要用来返回对应字符的ascii码,round是四舍五入函数,故abs(int(-5.6))=5,len("3+5>=6")=6,ord("5")=53,round(5.9)=6,故本题选A选项。
二、程序填空
16.f=Trueisprime(k+2)k=k+1或k+=1或k=k+2或k+=2
【详解】
本题主要考查Python程序的执行与调试。
①isprime(x)用来判断x是不是素数,通过用x整除2~int(math.sqrt(x)),如果余数为0则表明该数不是素数,赋值f为假退出循环,f的初值为True,故第一空填f=True。
②若两个素数之差为2,则该对素数称为双胞胎数,此处判断相差为2的两个数是不是素数,故第二空填isprime(k+2)。
③素数都是奇数,此处需要更新k的值继续循环判断,可以将k的值递增1或递增2,故填k=k+1或k+=1或k=k+2或k+=2。
17.自然语言确保m>=nr!
=0
【详解】
本题主要考查算法及Python程序实现。
①描述一是自然语言描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。
②在描述三中代码4到6行,当m=n。
③由题干可知,循环条件是余数r不等于0,故代码第8行划线处为r!
=0。
18.xingzuo[“小红”]xingzuo[“小兰”]=“水瓶座”xingzuo[“小贝”]=“双子座”delxingzuo
【详解】
本题主要考查字典数据类型。
①字典数据类型,可以通过检索字典的键值得到对应的值,即xingzuo[“小红”]=‘处女座’,故第一空填xingzuo[“小红”]。
②将“小兰”同学的星座修改为“水瓶座”,可以通过语句xingzuo[“小兰”]=“水瓶座”。
③同理添加小贝的信息为,xingzuo[“小贝”]=“双子座”。
④删除该字典的表达式是delxingzuo。
19.-b/(2*a)
【详解】
本题主要考查Python程序执行与调试。
①delta大于0,方程有两个不同的解,delta等于0,方程有两个相同的解,delta小于0,方程无解,故第一空填0。
②delta=0,则方程有两个相同的根,x=-b/(2*a),故第二空填-b/(2*a)。
20.BCCCD
【详解】
本题主要考查二分查找算法及Python程序实现。
①二分查找的循环条件是left<=right,故选B选项。
②此处是取中间值,需要整除2,故填(left+right)//2 ,故选C选项。
③如果mid对应的列表值是1000,表示已找到,则用break跳出循环,选C选项。
④如果mid对应的列表值小于1000,则需要更新left的值为mid+1继续循环,选C选项。
⑤否则更新right的值为mid-1,选D选项。
21.
【详解】
本题主要考查Python程序的执行与调试。
运行结果如下: