2020年9月电子学会Python等级考试试卷(四级)考题解析
青少年软件编程(Python)等级考试试卷(四级)
分数:100.00 题数:38
一、单选题(共25题,每题2分,共50分)
以下有关算法的表述中正确的是?( )
A、描述算法可以有不同的方式,可用自然语言也可用流程图等
B、算法可以看成按照要求设计好的有限的确切的步骤解决问题,并且这样的步骤只能解决当前问题
C、算法需要一步一步执行,每一步执行的操作必须明确,不能含混不清,而且经过有限步或无限步后能得出结果
D、算法要求按部就班地执行相应的步骤,每一步可以有不同的结果
试题编号:20200404-xc-012
题型:单选题
答案:A
难度:一般
试题解析:算法可以看成按照要求设计好的有限的确切的步骤,并且这样的步骤能解决一类问题,故B不正确;算法是有限步,结果明确性;算法的每一步操作必须是明确的,不能有歧义或模糊是正确的,故D不正确。以下选项中不是Python对文件的写操作方法的是?( )
A、writelines
B、write
C、write 和 seek
D、writetext
试题编号:20200325-ysy-001
题型:单选题
答案:D
难度:一般
试题解析:
python文件对象提供了两个“写”方法: write() 和 writelines()。write()方法和read()、readline()方法对应,是将字符串写入到文件中。writelines()方法和readlines()方法对应,也是针对列表的操作。它接收一个字符串列表作为参数,将他们写入到文件中,换行符不会自动的加入,因此,需要显式的加入换行符。
以下选项中,哪一个不属于函数的作用?( )
A、提高代码的执行速度
B、提高代码的重复利用率
C、增强代码的可读性
D、降低编程的复杂度
试题编号:20200402-xc-023
题型:单选题
答案:A
难度:一般
试题解析:函数能够提高代码的重复利用率,增强代码的可读性,降低编程的复杂度,但高代码的执行速度不是它的特点。关于计算圆面积的匿名函数的定义,以下哪一个语法格式是正确的?( )
A、lambda r:3.1415926rr
B、result=lambda r:3.1415926rr
C、lambda r,3.1415926rr
D、result=lambda r,3.1415926rr
试题编号:20200402-xc-005
题型:单选题
答案:B
难度:一般
试题解析:关键字lambda表示匿名函数,冒号之前的表示它们是这个函数的参数,匿名函数不需要return来返回值,表达式本身结果就是返回值。在定义匿名函数时,需要将它直接赋值给一个变量,然后再像一般函数调用。
运行以下程序输出的结果是?( )x=1def demo(): global x x=2 print(x) demo() print(x)
A、
1 1
B、
2 1
C、
1 2
D、
2 2
试题编号:20200402-xc-006
题型:单选题
答案:D
难度:较难
试题解析:Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部声明其为global以改变它的值。
关于以下程序,下列表述中错误的一项是?( )def demo(n): s=1 for i in range(1,n): s*=i return s
A、demo(n)函数的功能是求n的阶乘
B、s是局部变量
C、n是形式参数
D、range()函数是Python内置函数
试题编号:20200402-xc-025
题型:单选题
答案:A
难度:一般
试题解析:demo(n)函数的功能是求阶乘,range(1,n)是从1循环到n-1。
以下哪一个函数是指直接或间接调用函数本身的函数?( )
A、map函数
B、zip函数
C、匿名函数
D、递归函数
试题编号:20200402-xc-031
题型:单选题
答案:D
难度:容易
试题解析:递归函数是指直接或间接调用函数本身的函数。
关于以下程序,运行程序输出结果正确的是?( )def demo(x): return x*2; print(demo(demo(demo(1))))
A、1
B、2
C、4
D、8
试题编号:20200402-xc-026
题型:单选题
答案:D
难度:一般
试题解析:调用三次,1乘以三次2,因此结果为8。
用于安装Python第三方库的工具是?( )
A、Install
B、pip
C、Wheel
D、Setup
试题编号:20200315-ysy-004
题型:单选题
答案:B
难度:一般
试题解析:用于安装Python第三方库的工具可以用pip install 第三方库名。分治,“分而治之”。从字面上理解就是分—治,把大的问题分成小问题,解决一个一个小问题,之后把问题的答案合并起来,就得到大问题的结果。历史上也有很多故事属于分治思想,以下属于分治思想的是?( )
A、三国时,曹操带兵长途行军,士兵们都很口喝,曹操便说:“前面就是一大片梅林,结了许多梅子,又甜又酸,可以解渴。” 士兵们听了,嘴里都流口水,一时也就不渴了。
B、战国时期,秦国通过远交近攻的策略,逐个击破,最后统一六国。
C、汉末刘备三次到诸葛亮住的茅屋去邀请他出来帮助自己打天下,最后诸葛亮才答应出来。
D、三个臭皮匠顶个诸葛亮是一个文化术语。指的是三个副将的智慧能顶一个诸葛亮。
试题编号:20200404-xc-009
题型:单选题
答案:B
难度:较难
试题解析:B体现分治思想
运行以下函数,正确的打印是?( )def domain2(a,b): a = a+b return aa = 2print(domain2(2,a))
A、4
B、2
C、1
D、7
试题编号:20200413-zwy-023
题型:单选题
答案:A
难度:容易
试题解析:知识点:自定义函数的创建与调用
以下选项中关于递归算法的描述,错误的是?( )
A、书写简单
B、一定要有基例(指不需要递归就能求解的解)
C、递归算法都可以用非递归的方法实现
D、执行效率高
试题编号:20200413-zwy-030
题型:单选题
答案:D
难度:容易
试题解析:知识点:递归与递推以下用于绘制弧形的函数是?( )
A、turtle.seth( )
B、turtle.right( )
C、turtle.circle( )
D、turtle.fd( )
试题编号:20200316-ysy-006
题型:单选题
答案:C
难度:一般
试题解析:Python中函数不包括以下哪一个?( )
A、参数函数
B、标准函数
C、内建函数
D、第三方库函数
试题编号:20200408-xc-006
题型:单选题
答案:A
难度:一般
试题解析:Python中函数包括标准函数、内建函数、第三方库函数等
运行以下函数,正确的打印是?( )def function(a): s = 0 while(a>0): if(a%2 == 0): s += a*(a-1) else: s += a+(a-1) a = a-1 return sprint(function(6))
A、21
B、36
C、59
D、46
试题编号:20200413-zwy-026
题型:单选题
答案:C
难度:一般
试题解析:知识点:递归与递推
运行以下函数,正确的打印是?( ) def test(num): print("the number is %d."%(num)) test(888)
A、the number is %d.
B、the number is 888.
C、the number is %d.888
D、the number is 888.888
试题编号:20200413-zwy-021
题型:单选题
答案:B
难度:容易
试题解析:知识点:自定义函数的创建与调用
下列哪个关键词可用来表示返回值?( )
A、back
B、return
C、ret
D、ok
试题编号:20200413-zwy-004
题型:单选题
答案:B
难度:容易
试题解析:知识点:函数的相关概念对元素规模为n的列表进行对分查找时,无论是否找到,至多进行()次查找?
A、n
B、(n+1)/2
C、n-1
D、log2n+1
试题编号:20201122-ssn-003
题型:单选题
答案:D
难度:一般
试题解析:对元素规模为n的列表进行对分查找时,无论是否找到,至多进行 log2n+1( log2n+1表示大于或等于 log2n的最小整数)次查找就能得到结果。
代码: def sum(num1,num2): num1=num1+1 num2=num2+2 result=num1+num2 return result a=3 b=4 c=sum(a,b) print("a=",a,"b=",b,"c=",c) 以下说法正确的是?( )
A、程序的运行结果为:a= 3 b= 4 c= 10
B、程序的运行结果为:a= 4 b= 6 c= 10
C、程序的运行结果为:a= 4 b= 6 c= 7
D、编译错误,程序无法运行。
试题编号:20200308-ysy-005
题型:单选题
答案:A
难度:较难
试题解析:
运行以下代码,若d的值为17,则return后面应该填?( ) def function(a,b): c = a+b return _______a,b = 3,2d = function(a,b)
A、c+a+b
B、c-ab
C、c+ab
D、c*a+b
试题编号:20200413-zwy-009
题型:单选题
答案:D
难度:容易
试题解析:知识点:函数的返回值
以下函数要计算x的n次方,则应补充选项为?( ) def power(x, n): s = 1 while n > 0: _________ s = s * x return s
A、n = n
B、n = n+1
C、n = n-2
D、n = n-1
试题编号:20200413-zwy-031
题型:单选题
答案:D
难度:容易
试题解析:知识点:递归与递推
以下不可以使用分治法求解的是?( )
A、棋盘覆盖问题
B、选择问题
C、归并排序
D、0/1背包问题
试题编号:20200414-ysy-009
题型:单选题
答案:D
难度:较难
试题解析:可使用分治法求解的一些经典问题
(1)二分搜索
(2)大整数乘法
(3)Strassen矩阵乘法
(4)棋盘覆盖
(5)合并排序
(6)快速排序
(7)线性时间选择
(8)最接近点对问题
(9)循环赛日程表
(10)汉诺塔
下面的故事与哪一个算法有着异曲同工之妙?( )从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事……
A、穷举
B、递归
C、贪心
D、分治
试题编号:20200404-xc-001
题型:单选题
答案:B
难度:一般
试题解析:递归函数是指直接或间接调用函数本身的函数。
有 2*n的一个长方形方格,用一个1*2的骨牌铺满方格,当n=5时,铺法总数为多少?( )
A、5
B、6
C、7
D、8
试题编号:20200408-xc-004
题型:单选题
答案:D
难度:较难
试题解析:
对一般的n,要求xn可以这样来考虑,若第一个骨牌是竖排列放置,剩下有n-1个骨牌需要排列,这时排列方法数为xn-1;若第一个骨牌是横排列,整个方格至少有2个骨牌是横排列(1*2骨牌),因此剩下n-2个骨牌需要排列,这是骨牌排列方法数为xn-2。从第一骨牌排列方法考虑,只有这两种可能,所以有: xn=xn-1+xn-2 (n>2) x1=1 x2=2 xn=xn-1+xn-2就是问题求解的递推公式,任给n都可以从中获得解答。例如n=5, x3=x2+x1=3 x4=x3+x2=5 x5=x4+x3=8
运行以下函数,正确的打印结果是?( ) def sub(a,b): return a-ba,b = 5,3c = sub(b,a)print(c)
A、2
B、-2
C、1
D、-1
试题编号:20200413-zwy-012
题型:单选题
答案:B
难度:一般
试题解析:知识点:函数的参数
二、判断题(共10题,每题2分,共20分)
26. 调用函数print_info(“李华”,“16”,“男”)输出的结果是:“姓名:李华,年龄:16,性别:男”
def print_info(name,age,sex);
str = “姓名:”+name+“,年龄:”+age+“,性别:”+sex
print(str)
试题编号:20200320-wc-012
题型:判断题
答案:正确
难度:容易
试题解析:调用函数print_info(“李华”,“16”,“男”)时,参数"李华",“16”,"男"分别被赋值给形参name,age,sex,并将参数合并为一个字符串str,输出字符串str时就能够输出结果:“姓名:李华,年龄:16,性别:男”。
- power(x,n)函数是计算x的n次幂的函数,power(x,n)函数运用了分治算法的思想,调用power(3,3)函数的计算结果是:27
def power(x,n):
if n == 2:
return x
if n%2 == 0:
return power(x,n//2) * power(x,n//2)
else:
return power(x,(n+1)//2) * power(x,(n-1)//2)
试题编号:20200330-wc-032
题型:判断题
答案:错误
难度:一般
试题解析:函数的递归条件是:n == 1。因为当n为奇数时,n//2或(n-1)//2或(n+1)//2的最小值是1,
- 执行以下代码:
n=5
def fun():
x=n+1
print (x)
fun()
程序输出的结果为:6
试题编号:20200407-zpf-009
题型:判断题
答案:正确
难度:较难
试题解析:
运行如下图的代码,变量m无论取值是多少,print打印出的值都不可能大于30。
试题编号:20200319-LL-011
题型:判断题
答案:错误
难度:一般
试题解析:m的值如果是31,打印出的就是31,本题考查学生对函数体之中语句的理解
- 使用pip install-upgrade numpy命令能够升级numpy科学计算扩展库。
试题编号:20200330-wc-038
题型:判断题
答案:正确
难度:一般
试题解析:使用“pip install-upgrade 包名”命令能够升级已安装的第三方库
- type(str)函数的返回值是参数str的数据类型。
试题编号:20200320-wc-006
题型:判断题
答案:正确
难度:容易
试题解析:type()函数是Python内置的计算参数类型的函数
- 调用嵌套函数outer(),两次输出变量x的值是不一样的。
def outer():
x = “local”
def inner():
x = ‘nonlocal’
print(“inner:”, x)
inner()
print(“outer:”, x)
试题编号:20200320-wc-018
题型:判断题
答案:正确
难度:一般
试题解析:在嵌套函数中,嵌套函数内部与嵌套函数外部相同名称的变量是互不影响的,所以两次输出变量x的值是不一样的。
- 执行以下代码:
def sum_n(n):
if n==1:
return 2
t = sum_n(n - 2)
return n + t
result = sum_n(5)
print(result)
程序输出的结果为:10
试题编号:20200407-zpf-022
题型:判断题
答案:正确
难度:一般
试题解析:
- 函数factorialrecursive(n)与factorial cycle(n)分别是运用递归和循环计算n的阶乘的函数,因为两个函数都能够计算n的阶乘,所以递归和循环的时间复杂度是一样的。
def factorialrecursive(n):
if n == 1:
return 1
return n*factorial(n-1)
def factorial cycle(n):
result = 1
while(n>1):
result = result * n
n = n-1
return result
试题编号:20200330-wc-036
题型:判断题
答案:错误
难度:一般
试题解析:递归与循环所执行的时间是不一样的,所以递归与循环的时间复杂度是不一样的。
- 新型冠状病毒感染的肺炎是一种全新的冠状病毒肺炎,该病毒具有人群易感性,预防病毒我们要做到勤洗手、戴口罩,多通风。假设新型冠状病毒每轮会传染给x人,则经过n轮传染后,有n*x个人感染。
试题编号:20200407-zpf-025
题型:判断题
答案:错误
难度:一般
试题解析:
三、编程题(共3题,共30分)
36. 要求:设计一个算法,如果一个数从左边读和从右边读都是同一个数,就称为回文数。例如9889就是一个回文数,求对于用户输入的一个非零正整数判断是否为回文数。
根据上述算法思想,补全下列代码。
示例:输入9889,返回9889是回文数;输入34542,返回34542不是回文数。
i=input(“请输入一个非零正整数:”)
n=len(i)
if ① :
for j in range(int((n+1)/2)):
if ② :
if n==2*j+1:
print(“{}是回文数”.format(i))
else:
print(“{}不是回文数”.format(i))
break
else:
for j in ③ :
if i[j]==i[n-j-1]:
if ④ :
print(“{}是回文数”.format(i))
else:
print(“{}不是回文数”.format(i))
break
试题编号:20200330-ph-008
题型:编程题
答案:
参考答案:
① n%2!=0: 或等效答案;(3分)
② i[j]==i[n-j-1]: 或等效答案;(3分)
③ range(int(n/2)) 或等效答案;(2分)
④ n==2*(j+1) 或等效答案;(2分)
难度:一般
试题解析:
参考答案:
i=input(“请输入一个非零正整数:”)
n=len(i)
if n%2!=0:
for j in range(int((n+1)/2)):
if i[j]==i[n-j-1]:
if n==2*j+1:
print(“{}是回文数”.format(i))
else:
print(“{}不是回文数”.format(i))
break
else:
for j in range(int(n/2)):
if i[j]==i[n-j-1]:
if n==2*(j+1):
print(“{}是回文数”.format(i))
else:
print(“{}不是回文数”.format(i))
break
- 任务:利用分治思想,在50个同学成绩(成绩不重复)中查找指定成绩的同学的编号,学生成绩存储在列表cj中;待查找的成绩由键盘输入到变量key中。根据上述算法思想,编写自定义函数完成程序功能,完善空白处代码。
“”"
函数名def search(lft,rgt,key)
参数表:整数lft,rgt表示待查找列表的左右边界,key是待查找的成绩
返回值:找到返回key所在编号,否则返回-1.
“”"
def search(lft,rgt,key):
if lft>rgt:
return -1
mid = ①
if cj[mid] == key:
return mid
elif ② :
lft = mid + 1
else:
rgt = mid - 1
③
import random
cj = [random.randint(1,100) for i in range(50)]
cj.sort()
key = int(input(“输入待查找的成绩”))
pos = search(0,49,key)
print(pos)
试题编号:20200330-fcl-010
题型:编程题
答案:
评分标准:
① (lft+rgt)//2 (2分)
② cj[mid] < key (3分)
③ return search(lft,rgt,key) (3分)
难度:一般
试题解析:
参考答案:
def search(lft,rgt,key):
if lft>rgt:
return -1
mid = (lft+rgt)//2
print(data[mid])
if data[mid] == key:
return mid
elif data[mid] < key:
lft = mid + 1
else:
rgt = mid - 1
return search(lft,rgt,key)
import random
data = [random.randint(1,100) for i in range(50)]
data.sort()
key = int(input(“输入待查找的成绩”))
pos = search(0,49,key)
print(pos)
- 要求:设计一个算法,对于给定两个正整数,求它们的最大公约数。
根据上述算法思想,补全下列代码。
函数名:gcd(x,y)
参数表:x-- 整数x,y-- 整数y。
返回值:它们的最大公约数。
示例:当x=6,y=9时,返回3。
def gcd(x,y):
if ① :
return y
else:
return ②
sums = 0
m = int(input('请输入第一个正整数m = '))
n = int(input('请输入第二个正整数n = '))
sums= ③
print(“m和n两个正整数的最大公约数是:%d”% sums)
试题编号:20200330-ph-005
题型:编程题
答案:
评分标准:① x%y== 0或等效答案;(4分)
② gcd(y,x%y) 或等效答案;(4分)
③ gcd(m,n) 或等效答案;(4分)
难度:容易
试题解析:
参考答案:def gcd(x,y):
if x%y== 0:
return y
else:
return gcd(y,x%y)
sums = 0
m = int(input('请输入第一个正整数m = '))
n = int(input('请输入第二个正整数n = '))
sums=gcd(m,n)
print(“m和n两个正整数的最大公约数是:%d”% sums)
2020年9月电子学会Python等级考试试卷(四级)考题解析相关推荐
- 2020年9月电子学会Python等级考试试卷(三级)考题解析
青少年软件编程(Python)等级考试试卷(三级A卷) 分数:100.00 题数:39 一.单选题(共25题,每题2分,共50分) 1. 下列程序运行结果是?( ) a=12 b ...
- 2020年12月电子学会Python等级考试试卷(一级)考题解析
青少年软件编程(Python)等级考试试卷(一级) 分数:100.00 题数:37 一.单选题(共25题,每题2分,共50分) 执行语句print(10==10.0)的结果为?( ) A.10 B.1 ...
- 2020年6月电子学会Python等级考试试卷(一级)考题解析
青少年软件编程(Python)等级考试试卷(一级A卷) 分数:100.00 题数:38 一.单选题(共25题,每题2分,共50分) 1. 以下哪种输入结果不可能得到以下反馈: 重 ...
- 2020年12月电子学会Python等级考试试卷(三级)考题解析
青少年软件编程(Python)等级考试试卷(三级) 分数:100.00 题数:38 一.单选题(共25题,每题2分,共50分) 要对二维列表所有的数据进行格式化输出,打印成表格形状,程序段如下: ls ...
- 2021年12月电子学会Python等级考试试卷(二级)答案解析
需要所有考级相关的资料可以添加我的微信:15570666506 青少年软件编程(Python)等级考试试卷(二级) 一.单选题(共25题,共50分) 1. 执行以下程序 a=[33,55,22,77] ...
- 2022年9月电子学会Python等级考试试卷(五级)答案解析
目录 一.单选题(共25题,共50分) 二.判断题(共10题,共20分) 三.编程题(共3题,共30分) 答案如下 2022-09-17青少年软件编程(Python)等级考试试卷(五级) 一.单选题( ...
- 2022年9月电子学会Python等级考试试卷(一级)答案解析
青少年软件编程(Python)等级考试试卷(一级) 分数:100 题数:37 一.单选题(共25题,共50分) 1. 表达式len("学史明理增信 ,读史终生受益") > ...
- 2022年9月电子学会Python等级考试试卷(二级)答案解析
目录 一.单选题(共25题,共50分) 二.判断题(共10题,共20分) 三.编程题(共2题,共30分) 参考答案: 2022-09-17青少年软件编程(Python)等级考试试卷(二级) 一.单选题 ...
- 2021年12月电子学会Python等级考试试卷(三级)答案解析
青少年软件编程(Python)等级考试试卷(三级) 分数:100 题数:38 总体情况 一.单选题(共25题,共50分) 1. 小明在学习计算机时,学习到了一个十六进制数101,这个十六进制数对应的 ...
最新文章
- Java 类和对象的内存分配机制
- Visual Studio Code Go 插件文档翻译
- php约瑟夫问题,php 解决约瑟夫问题实现方法
- 【转】推荐给初级Java程序员的3本进阶书
- 安卓四大组件之Activity
- 把技术卖给不懂技术的人
- NSObject协议中方法:description 和 debugDescription
- PHP企业级开发环境配置全攻略-IDE+SVN++(转)
- 转贴:Icon Design Guidelines, Android 2.0
- 第一次用联接查询语句,豁然开朗!!
- error: binding reference of type int to const int discards qualifiers
- 景观设计名字主题_园林景观好听的名字
- git将一个分支的提交合并到另一个分支
- js中易错难点集合(1)
- 测试人员如何提高API功能测试效率?
- 刷脸支付行业代理的几个坑,你踩了吗?
- matlab 反激实例(S440_Flyback.slx)
- [转载]zz傅里叶变换,拉普拉斯变换和Z变换的意义
- USB 设置配置(SetConfiguration)和设置接口(SetInterface)的区别与联系
- 打领带的方法,心学!