python软件编程等级考试二级编程实操题03优质.docx
《python软件编程等级考试二级编程实操题03优质.docx》由会员分享,可在线阅读,更多相关《python软件编程等级考试二级编程实操题03优质.docx(15页珍藏版)》请在冰豆网上搜索。
python软件编程等级考试二级编程实操题03优质
python软件编程等级考试(二级)编程实操题03优质
一、选择题
1.已知a=-2,b=10/3,则python表达式round(b,1)+abs(a)的值为()
A.1.3B.5.33C.5.4D.5.3
2.关于python中的函数,以下描述错误的是()。
A.函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可
B.使用函数的主要目的是减低编程难度和代码重用
C.Python使用del保留字定义一个函数
D.函数是一段具有特定功能的语句组
3.在Python中,表达式a**3+b**3+c**3==100*a+10*b+c属于()
A.算术表达式B.关系表达式C.逻辑表达式D.日期表达式
4.小明想要通过编程来解决由昆明到景东锦屏耗时最短行程问题时,最核心的工作是()
A.设计出解决问题的算法B.设计出解决问题的PPT
C.编写出Python代码D.选择一种编程软件
5.以下哪个不属于计算机操作系统()
A.DOSB.UnixC.PythonD.Linux
6.已知字符串a="python",则print(a[1]+a[3])的值为()
A."yth"B."yt"C."py"D."yh"
7.在PythonIDLE编辑器中书写正确的表达式()
A.b**2-4acB.1/2gt2C.pi*r^2D.2*pi*r
8.把数式
写成Python语言的表达式,下列书写正确的是()。
A.a+b/2aB.a+b/2*aC.(a+b)/2*aD.(a+b)/(2*a)
9.下列可以被计算机直接执行的程序是()
A.机器语言程序B.高级语言程序C.汇编语言程序D.Python源程序
10.以下Python程序段执行后,输出结果为()。
A.m不能被3整除B.29不能被3整除C.29能被3整除D.m能被3整除
11.要实现将实数型变量a的值保留三位小数,以下python可以实现的是()
A.a%0.001B.a//0.001C.round(a,3)D.round(3,a)
12.有python程序如下:
S=input()
print(S*3)
运行后通过键盘输入6,则运算结果是()
A.666B.SSSC.18D.S*3
13.关于Python3.8基础知识的说法中,不正确的是()
A.支持中文做标识符
B.Python标识符不区分字母的大小写
C.Python命令提示符是>>>
D.命令中用到的标点符号只能是英文字符
14.下列选项中,可以作为Python程序变量名的是()
A.a/bB.abC.a+bD.a-b
15.下列python表达式结果为5的是()
A.abs(int(-5.6))B.len("3+5>=6")C.ord("5")D.round(5.9)
二、程序填空
16.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率T。
请根据所学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率Π的原理、方法和Python程序。
17.(项目情境)一元二次方程ax2+bx+c=0(a≠0),当b2-4ac≥0,方程有两个不同的实数根,当b2-4ac<0时,方程无实数根。
(问题求解)下面的python程序实现的功能是判断方程是否有实数根。
请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。
importmath
a=int(input("请输入a的值:
"))
b=int(input("请输入b的值:
"))
c=int(input("请输入c的值:
"))
d=_____#将表达式b2-4ac的值赋给变量d
if____
print("x1=",(-b+math.sqrt(d))/(2*a))#输出方程的其中一个实数根
print("x2=",(_________)#输出方程的另一个实数根
else:
_________#输出“方程无实数根”
18.阅读程序。
分析以下两段Python程序并回答问题。
#程序1
i=1
whilei<101:
print('把这句话打印100遍')
i+=1
#程序2
i=100
whilei:
print('把这句话打印100遍')
i=i-2
(1)在程序1中,i+=1这句话的含义是______________。
(2)在程序1中,‘把这句话打印100遍’实际输出了_____遍。
(3)在程序2中,i的初值是___。
(4)在程序2中,‘把这句话打印100遍’实际输出了_____遍。
(5)在程序2中,whilei的含义是_________。
19.学习了Python绘制图形操作后,信息小组接到了编程演示的任务。
为此,小组同学编写了一段代码,绘制出多个不同颜色的圆形。
代码如下:
importturtle
turtle.bgcolor("black")
colors=["red","green","blue","yellow"]
forx①range(100):
turtle.pencolor(colors[x%4])
turtle.circle(x)
turtle.left(90)
请分析任务,完成下列题目。
(1)程序中①处应填写(________)。
A.printB.inputC.inD.colors
(2)程序中x%4的作用是(________)。
A.计算x乘以4的结果
B.计算x除以4的整数部分
C.计算x除以4的小数部分
D.计算x除以4的余数
(3)执行此程序,绘制出圆形的总颜色数是(________)。
A.1B.4C.5D.100
(4)执行此程序,绘制出圆形的总个数是(________)。
A.1B.4C.99D.100
(5)此程序属于程序设计结构中的(________)。
A.顺序结构B.分支结构
C.循环结构D.跳转结构
20.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:
defgcd(m,n):
r=
whiler!
=0:
m=n
n=
return
a=int(input(‘请输入a的值:
’))
b=int(input(‘请输入b的值:
’))
print(‘最大公约数是:
')
填空:
________________________________________
21.程序设计:
唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩萨。
观音菩萨告诉孙悟空,在天庭里身高正好为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
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python表达式的运算。
round(x,n)方法返回x的小数点四舍五入到n个数字,abs是求绝对值,已知a=-2,b=10/3,则表达式round(b,1)+abs(
解析:
D
【详解】
本题主要考查Python表达式的运算。
round(x,n)方法返回x的小数点四舍五入到n个数字,abs是求绝对值,已知a=-2,b=10/3,则表达式round(b,1)+abs(a)=3.3+2=5.3,故本题选D选项。
2.C
【详解】
本题主要考查Python中的函数。
函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可;使用函数的主要目的是减低编程难度和代码重用;Python
解析:
C
【详解】
本题主要考查Python中的函数。
函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可;使用函数的主要目的是减低编程难度和代码重用;Python使用def保留字定义一个函数;函数是一段具有特定功能的语句组,故本题选C选项。
3.B
【详解】
本题主要考查Python表达式的运算。
“==”是关系运算符,用于判断左右两边的表达式值是否相等,故该表达式是关系表达式,故本题选B选项。
解析:
B
【详解】
本题主要考查Python表达式的运算。
“==”是关系运算符,用于判断左右两边的表达式值是否相等,故该表达式是关系表达式,故本题选B选项。
4.A
【详解】
本题考查的是计算机解决问题。
计算机解决问题的步骤:
分析问题、设计算法、编写程序、调试运行、检测结果,其中最核心的步骤是设计算法。
故本题应选A。
解析:
A
【详解】
本题考查的是计算机解决问题。
计算机解决问题的步骤:
分析问题、设计算法、编写程序、调试运行、检测结果,其中最核心的步骤是设计算法。
故本题应选A。
5.C
【详解】
本题主要考查计算机软件系统。
DOS、Unix、Linux均是计算机操作系统,Python是程序开发软件,故本题选C选项。
解析:
C
【详解】
本题主要考查计算机软件系统。
DOS、Unix、Linux均是计算机操作系统,Python是程序开发软件,故本题选C选项。
6.D
【详解】
本题主要考查Python字符串的运算。
字符串a="python",a[1]+a[3]="y"+"h"="yh",故本题选D选项。
解析:
D
【详解】
本题主要考查Python字符串的运算。
字符串a="python",a[1]+a[3]="y"+"h"="yh",故本题选D选项。
7.D
【详解】
本题主要考查Python表达式知识点。
书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t*
解析:
D
【详解】
本题主要考查Python表达式知识点。
书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t**2,pi*r**2,2*pi*r是正确的表达式,故本题选D选项。
8.D
【详解】
本题主要考查Python表达式。
Python中乘号用符号“*”,运算优先级可以通过小括号提升,小括号优先级最高,故本题选D选项。
解析:
D
【详解】
本题主要考查Python表达式。
Python中乘号用符号“*”,运算优先级可以通过小括号提升,小括号优先级最高,故本题选D选项。
9.A
【详解】
本题考查的是计算机程序语言。
计算机程序语言可以分为:
机器语言、汇编语言、高级语言。
其中机器语言是由0和1组成,可以被计算机直接执行。
故本题应选A。
解析:
A
【详解】
本题考查的是计算机程序语言。
计算机程序语言可以分为:
机器语言、汇编语言、高级语言。
其中机器语言是由0和1组成,可以被计算机直接执行。
故本题应选A。
10.B
【详解】
本题考查的是Python选择语句。
print是输出语句,%是求余,!
=是不等于,29%3=2,条件不成立,则执行输出29不能被3整除。
故本题应选B。
解析:
B
【详解】
本题考查的是Python选择语句。
print是输出语句,%是求余,!
=是不等于,29%3=2,条件不成立,则执行输出29不能被3整除。
故本题应选B。
11.C
【详解】
本题主要考查Python函数。
round(x,n)方法返回x的小数点四舍五入到n个数字,故要实现将实数型变量a的值保留三位小数,可以使用语句round(a,3),故本题选C选项。
解析:
C
【详解】
本题主要考查Python函数。
round(x,n)方法返回x的小数点四舍五入到n个数字,故要实现将实数型变量a的值保留三位小数,可以使用语句round(a,3),故本题选C选项。
12.A
【详解】
本题主要考查Python程序的执行。
input()函数是通过键盘输入,将其以字符类型返回,故S=“6”,输出S*3=“666”,故运算结果是666,故本题选A选项。
解析:
A
【详解】
本题主要考查Python程序的执行。
input()函数是通过键盘输入,将其以字符类型返回,故S=“6”,输出S*3=“666”,故运算结果是666,故本题选A选项。
13.B
【详解】
本题主要考查Python语法。
Python3.8支持中文做标识符,Python标识符区分字母的大小写,Python命令提示符是>>>,命令中用到的标点符号只能是英文字符,故本题选B选项
解析:
B
【详解】
本题主要考查Python语法。
Python3.8支持中文做标识符,Python标识符区分字母的大小写,Python命令提示符是>>>,命令中用到的标点符号只能是英文字符,故本题选B选项。
14.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故ab可以作为Python程序变量名,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故ab可以作为Python程序变量名,故本题选B选项。
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.原理:
通常蒙特•卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。
对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特•卡罗方法是一种有效的求出数值解的方法。
一般蒙特•卡罗方法在数学中最常见的应用就是蒙特•卡罗积分。
方法:
蒙特卡罗方法的解题过程可以归结为三个主要步骤:
构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。
利用蒙特卡洛方法实现求解圆周率
#!
/usr/bin/Python
#-*-coding:
utf-8-*-
importrandom
importmath
defmonteCarlo(N):
i=0
count=0
whilei<=N:
x=random.random()
y=random.random()
ifpow(x,2)+pow(y,2)<1:
count+=1
i+=1
pi=4*count/N
print(pi)
monteCarlo(1000000)
【详解】
本题考查的知识点是Python程序。
原理:
通常蒙特•卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。
对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特•卡罗方法是一种有效的求出数值解的方法。
一般蒙特•卡罗方法在数学中最常见的应用就是蒙特•卡罗积分。
方法:
蒙特卡罗方法的解题过程可以归结为三个主要步骤:
构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。
利用蒙特卡洛方法实现求解圆周率#!
/usr/bin/Python#-*-coding:
utf-8-*-importrandomimportmathdefmonteCarlo(N):
i=0count=0whilei<=N:
x=random.random()y=random.random()ifpow(x,2)+pow(y,2)<1:
count+=1i+=1pi=4*count/Nprint(pi)monteCarlo(1000000)
17.b*b-4*a*c或b**2-4*a*cd>=0-b-math.sqrt(d))/(2*a)print("方程无实数根")
【详解】
本题主要考查Python程序的调试。
①此处将表达式b2-4ac的值赋给变量d,故填b*b-4*a*c或b**2-4*a*c。
②当b2-4ac≥0,方程有两个不同的实数根,故此处if判断条件是d>=0。
③当b2-4ac≥0时,方程的两个根分别为x1=(-b+math.sqrt(d))/(2*a),x2=(-b-math.sqrt(d))/(2*a),故此处填-b-math.sqrt(d))/(2*a)。
④else部分,即x<0时,输出“方程无实数根”,故此处填print("方程无实数根")。
18.i=i+1无数遍100无数遍i!
=0或i>0或其他等价答案
【详解】
本题主要考查Python程序的执行与调试。
①在程序1中,i+=1这句话的含义是i=i+1(即i递增1)。
②i的初值为1,while循环条件i<101为真,会一直执行循环体,无法跳出循环体执行i+=1,故‘把这句话打印100遍’实际输出了无数遍。
③在程序2中,i的初值是100。
④i=100,whilei(即while100)一直为真,会一直执行循环体,无法跳出循环体执行i=i-2,故‘把这句话打印100遍’实际输出了无数遍。
⑤在程序2中,whilei的含义是i!
=0或i>0或其他等价答案
19.CDBDC
【详解】
本题主要考查Python程序调试。
①Python程序for循环格式是:
for变量inrange(),故程序中①处应填写in,选C选项。
②程序中x%4的作用是计算x除以4的余数,选D选项。
③colors=["red","green","blue","yellow"],依次循环从colors中取颜色,故执行此程序,绘制出圆形的总颜色数是4,故本题选B选项。
④x的范围是从0到99,故执行此程序,绘制出圆形的总个数是100个,选D选项。
⑤此程序属于程序设计结构中的循环结构,选C选项。
20.m%nrr=m%nngcd(a,b)
【详解】
本题主要考查Python程序设计。
①首先对m和n求余得到r,判断r是否为0,故此处填m%n。
②如果r为0则结束,否则更新m的值为n,n的值为r。
③此处用更新后的m和n继续求r,继续判断,故填r=m%n。
④循环结束后当r=0时,n即为最大公约数,故填n。
⑤输入a、b的值,使用函数gcd求a和b的最大公约数,故填gcd(a,b)。
21.BCCCD
【详解】
本题主要考查二分查找算法及Python程序实现。
①二分查找的循环条件是left<=right,故选B选项。
②此处是取中间值,需要整除2,故填(left+right)//2 ,故选C选项。
③如果mid对应的列表值是1000,表示已找到,则用break跳出循环,选C选项。
④如果mid对应的列表值小于1000,则需要更新left的值为mid+1继续循环,选C选项。
⑤否则更新right的值为mid-1,选D选项。