python软件编程等级考试二级编程实操题01.docx
《python软件编程等级考试二级编程实操题01.docx》由会员分享,可在线阅读,更多相关《python软件编程等级考试二级编程实操题01.docx(14页珍藏版)》请在冰豆网上搜索。
python软件编程等级考试二级编程实操题01
python软件编程等级考试(二级)编程实操题01
一、选择题
1.在Python中,数据的输入是通过()来实现的。
A.input()函数B.print()函数C.bool()函数D.abs()函数
2.在Python程序中,要求s=3+6+9+…+300的值,可以采用如下代码,下列选项中的说法不正确的是()。
A.for循环语句中步长为3B.语句s=0应改为s=1
C.语句s=s+i共循环执行了100次D.程序使用了循环结构
3.现有如下python程序段:
foriinrange(6):
p.append(int(random()*10)+1)
foriinrange(2,6):
ifi%2==1andp[i]%2==0:
p[i]+=p[i-1]
elifi%2==0andp[i]%2==1:
p[i]-=p[i-1]
执行该程序段后,在下列选项中,列表p中的元素值不可能的是()
A.1,2,3,4,7,2
B.1,2,14,-9,-5,8
C.6,8,1,4,6,10
D.6,4,14,-7,3,8
4.下列有关于print命令的描述中,正确的是()
A.在打印机里打印相关的文本或者数字等
B.可以用来画图
C.在屏幕中输出相应的文本或者数字等
D.执行语句print(“python”,3.7)时会出错
5.检测输入的四位整数abcd是否满足下述关系:
(ab+cd)(ab+cd)=abcd。
实现上述功能的python程序代码如下:
k=int(input(“输入一个四位数:
”))
①
y=k%100
if②:
print(“符合”)
else:
print(“不符合”)
划线处应填入的代码是()
A.①x=k/100②(x+y)*2!
=kB.①x=k//100②(x+y)*2==k
C.①x=k/100②(x+y)**2!
=kD.①x=k//100②(x+y)**2==k
6.有如下Python程序,当程序运行后输入15000,则程序输出结果为()
A.2800B.2800.0C.12200D.12200.0
7.以下不属于高级程序设计语言的是()。
A.C++B.VBC.机器语言D.Python
8.下列定义变量的python程序语句变量赋值错误的是()
A.x=y=1B.x,y=1,2C.x==1D.x=1,2
9.python用来表示代码块所属关系(控制层级结构的)的语法符号是()
A.圆括号B.大括号C.缩进D.冒号
10.在python中,想输出一行文字,要用到的函数是()。
A.input()B.int()C.print()D.float()
11.python文件的扩展名是()
A.pyB.pyeC.vbpD.pyr
12.Python文件的后缀名是()
A.pdfB.doC.passD.py
13.Python语言属于()
A.自然语言B.汇编语言C.机器语言D.高级语言
14.在Python中print(-14//4)的运行结果是()。
A.-4B.-3.5C.2D.-2
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.学校气象小组使用自动测温仪在校园测量了1月12日的气温,并利用Python绘制了这天的气温图,该图如下所示:
(1)在以上Python程序中,变量Y的数据类型是_________。
(2)在以上Python程序中,第8行横线处的代码是_________。
(3)通过观察,气温釆样间隔时间是_________个小时。
17.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:
defgcd(m,n):
r=
whiler!
=0:
m=n
n=
return
a=int(input(‘请输入a的值:
’))
b=int(input(‘请输入b的值:
’))
print(‘最大公约数是:
')
填空:
________________________________________
18.编写一个程序,判定用户输入的两个数a和b,如果用户输入的第一个数大,则两数互换,否则原样输出。
19.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。
得到的数字应按逗号分隔的顺序打印在一行上。
提示:
考虑使用range(#begin,#end)
20.分析完善程序
已知包含25项的数列:
1,2/3,3/5,....,24/47,25/49。
问题1:
写出该数列的通项公式f(n)=_①
问题2:
以下是计算S=1+2/3+3/5+...+24/47+25/49的程序,请补全代码:
s=0
foriinrange(1,26):
s=s+②
print(“s=”,s)
补充完成上述通项公式和程序:
①f(n)=_________
②___________
21.编写程序,用*打印一个如下所示的等腰直角三角形,将测试结果截图。
*
**
***
****
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.A
【详解】
本题主要考查Python输入函数。
在Python中,input()是输入函数,print()是输出打印函数,bool()函数用于判断真假,abs()求绝对值函数,故本题选A选项。
解析:
A
【详解】
本题主要考查Python输入函数。
在Python中,input()是输入函数,print()是输出打印函数,bool()函数用于判断真假,abs()求绝对值函数,故本题选A选项。
2.B
【详解】
本题主要考查Python程序调试。
分析代码可知,for循环语句中步长为3,变量s的初值应为0,语句s=s+i共循环执行了100次,程序使用了for循环结构,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序调试。
分析代码可知,for循环语句中步长为3,变量s的初值应为0,语句s=s+i共循环执行了100次,程序使用了for循环结构,故本题选B选项。
3.BD
【详解】
本题主要考查Python程序执行。
第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i
解析:
BD
【详解】
本题主要考查Python程序执行。
第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i],若i是偶数且生成的p[i]是奇数,则p[i]减去前一个值,分析选项B、D第三个元素14,此时i=2,如果p[2]原来生成的是奇数,则需要执行p[i]-=p[i-1],否则不变,即p[2]不会大于10,故执行该程序段后,列表p中的元素值不可能是1,2,14,-9,-5,8或6,4,14,-7,3,8,故本题选BD选项。
4.C
【详解】
本题主要考查print函数。
print命令在屏幕中输出相应的文本或者数字等,执行语句print(“python”,3.7)的结果是python3.7,故本题选C选项。
解析:
C
【详解】
本题主要考查print函数。
print命令在屏幕中输出相应的文本或者数字等,执行语句print(“python”,3.7)的结果是python3.7,故本题选C选项。
5.D
【详解】
本题主要考查Python程序的调试。
检测是否满足关系(ab+cd)(ab+cd)=a,需要将ab与cd取出来,ab=abcd//100,cd=abcd%100,故第一空填x=k/
解析:
D
【详解】
本题主要考查Python程序的调试。
检测是否满足关系(ab+cd)(ab+cd)=a,需要将ab与cd取出来,ab=abcd//100,cd=abcd%100,故第一空填x=k//100,第二空判断是否满足(ab+cd)(ab+cd)=a,故第二空填(x+y)**2==k,故本题选D选项。
6.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正确。
7.C
【详解】
本题考查计算机语言。
C++,VB,Python都属于高级程序设计语言。
机器语言则不是。
故本题选项C不属于高级程序设计语言。
解析:
C
【详解】
本题考查计算机语言。
C++,VB,Python都属于高级程序设计语言。
机器语言则不是。
故本题选项C不属于高级程序设计语言。
8.C
【详解】
本题主要考查Python赋值语句。
x==1是条件判断语句(判断x是否等于1);选项A结果是x=1,y=1;选项B结果是x=1,y=2;选项D结果是x=(1,2),故本题选C选项。
解析:
C
【详解】
本题主要考查Python赋值语句。
x==1是条件判断语句(判断x是否等于1);选项A结果是x=1,y=1;选项B结果是x=1,y=2;选项D结果是x=(1,2),故本题选C选项。
9.C
【详解】
本题主要考查Python语法。
python用来表示代码块所属关系(控制层级结构的)的语法符号是缩进,故本题选C选项。
解析:
C
【详解】
本题主要考查Python语法。
python用来表示代码块所属关系(控制层级结构的)的语法符号是缩进,故本题选C选项。
10.C
【详解】
本题考查的是python基本函数相关知识。
input函数接受一个标准输入数据,返回为string类型,故选项A错误;int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,
解析:
C
【详解】
本题考查的是python基本函数相关知识。
input函数接受一个标准输入数据,返回为string类型,故选项A错误;int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,故选项B错误;print是输出函数,故选项C正确;float用于将整数和字符串转换成浮点数,故选项D错误。
11.A
【详解】
本题主要考查Python文件。
python文件的扩展名是py,故本题选A选项。
解析:
A
【详解】
本题主要考查Python文件。
python文件的扩展名是py,故本题选A选项。
12.D
【详解】
本题主要考查Python文件知识点。
Python文件的后缀名是py,故本题选D选项。
解析:
D
【详解】
本题主要考查Python文件知识点。
Python文件的后缀名是py,故本题选D选项。
13.D
【详解】
本题主要考查Python语言。
Python、VB、Java等语言属于高级语言,故本题选D选项。
解析:
D
【详解】
本题主要考查Python语言。
Python、VB、Java等语言属于高级语言,故本题选D选项。
14.A
【详解】
本题主要考查Python表达式的运算。
运算符//表示向下取整,-14//4=-4,14//4=3,故本题选A选项。
解析:
A
【详解】
本题主要考查Python表达式的运算。
运算符//表示向下取整,-14//4=-4,14//4=3,故本题选A选项。
15.A
【详解】
本题主要考查Python赋值语句。
选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故本题选A选项。
解析:
A
【详解】
本题主要考查Python赋值语句。
选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故本题选A选项。
二、程序填空
16.listplt.plot(X,Y)2
【详解】
本题主要考查Python程序调试与执行。
①由代码Y=[6,4,4,3,3,6,9,12,12,11,9,7],可知变量Y的数据类型是list(列表类型)。
②scatter是绘制散点图函数,图中还需要使用绘图函数plot,故第8行横线处的代码是plt.plot(X,Y)。
③通过观察,气温釆样间隔时间是2个小时。
17.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)。
18.a=int(input("请输入数a:
"))
b=int(input("请输入数b:
"))
ifa>b:
t=a
a=b
b=t
print("用户输入的数按小到大排序结果是:
",a,b)
else:
print("原样输出",a,b)
【详解】
本题主要考查Python程序设计。
使用input函数接收两个数a和b,用if条件分支结构判断a和b的大小,如果a大于b,则交换,否则原样输出,具体代码如下:
a=int(input("请输入数a:
"))
b=int(input("请输入数b:
"))
ifa>b:
t=a
a=b
b=t
print("用户输入的数按小到大排序结果是:
",a,b)
else:
print("原样输出",a,b)
19.l=[]
foriinrange(2000,3201):
if(i%7==0)and(i%5!
=0):
l.append(str(i))
print(','.join(l))
【详解】
本题主要考查程序设计。
由题干要求,可以使用Python程序设计语言实现,可使用for循环以及列表,可以使用join函数按逗号分隔格式打印结果,join函数连接字符串数组,将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串,具体代码如下:
l=[]
foriinrange(2000,3201):
if(i%7==0)and(i%5!
=0):
l.append(str(i))
print(','.join(l))
20.n/(2*n-1)或n/(n*2-1)i/(2*i-1)或i/(i*2-1)
【详解】
本题主要考查Python程序的执行与调试。
①分析数列可知,分子第n项是n,分母第n项是2*n-1,故该数列的通项公式f(n)=n/(2*n-1)或n/(n*2-1)。
②此处是对前n项进行求和,变量是i,使用语句s=s+i/(2*i-1)或s=s+i/(i*2-1),故此处填i/(2*i-1)或i/(i*2-1)。
21.layer=int(input("请输入需要打印的层数:
"))
forxinrange(1,layer+1):
foryinrange(1,x+1):
print("*",end="")
print("")
【详解】
本题主要考查Python循环结构。
Pythonfor循环可以遍历任何序列的项目,如一个列表或者一个字符串。
range可以生成一个整数列表,列表范围根据接收的layer来确定。
外层循环用于确定输出行数,内层循环用于控制每行符号个数。
【点睛】