目录
一、单选题(共25题,每题2分,共50分)
二、判断题(共10题,共20分)
三、编程题(共3题,共30分)
青少年软件编程(Python)等级考试试卷(四级)
分数:100 题数:38
1. | 下列不是评判一个算法优劣的标准是?( ) | ||||||||
| |||||||||
试题编号:20220428-fcl-011 | |||||||||
试题类型:单选题 | |||||||||
标准答案:C | |||||||||
试题难度:容易 | |||||||||
试题解析:评价算法的优劣是:时间复杂度,空间复杂度,健壮性,正确性,可读性。因此选C。 |
2. | 某自定义函数中使用了3个变量,其中2个变量都指定了默认值,调用该函数时,参数的个数最少为几个?( ) | ||||||||
| |||||||||
试题编号:20220501-tr-001 | |||||||||
试题类型:单选题 | |||||||||
标准答案:D | |||||||||
试题难度:容易 | |||||||||
试题解析:在调用函数时,如果用户不传递或者少传递参数,则会采用默认值。2个变量有默认值, 还有1个变量没有实际参数值,所以至少传递1个。 |
3. | Python中用于字符与其ASCII码相互转换的内置函数是?( ) | ||||||||
| |||||||||
试题编号:20220501-tr-002 | |||||||||
试题类型:单选题 | |||||||||
标准答案:C | |||||||||
试题难度:一般 | |||||||||
试题解析:用于ASCII码相互转换的内置函数。 |
4. | Python中,可以将数字类字符串转换成整数的函数是?( ) | ||||||||
| |||||||||
试题编号:20220501-tr-003 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:容易 | |||||||||
试题解析:Python将数字类字符串转换成整数的函数是int。 |
5. | 运行下列这段程序,正确的输出结果是?( ) | ||||||||
| |||||||||
试题编号:20220501-tr-004 | |||||||||
试题类型:单选题 | |||||||||
标准答案:B | |||||||||
试题难度:容易 | |||||||||
试题解析:该函数作用是添加列表元素。 |
6. | 下列代码的输出结果是?( ) | ||||||||
| |||||||||
试题编号:20220501-tr-005 | |||||||||
试题类型:单选题 | |||||||||
标准答案:C | |||||||||
试题难度:较难 | |||||||||
试题解析:函数形参和实参。 |
7. | 下列关于函数返回值的描述正确的是?( ) | ||||||||
| |||||||||
试题编号:20220501-tr-006 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:一般 | |||||||||
试题解析:Python函数可以没有返回值。 |
8. | 运行下列这段程序,正确的输出结果是?( ) def reverseA(s): | ||||||||
| |||||||||
试题编号:20220501-tr-007 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:一般 | |||||||||
试题解析:依次读取字符串,倒置字符串内容 |
9. | 下列导入pandas模块的方法不正确的是?( ) | ||||||||
| |||||||||
试题编号:20220501-tr-033 | |||||||||
试题类型:单选题 | |||||||||
标准答案:C | |||||||||
试题难度:一般 | |||||||||
试题解析:from pandas import *是正确的。 |
10. | Python中提供了大量的标准库模块,比如利用time模块可以获取计算机的时钟信息,包括日期和时间,若想要实现延时1分钟,则应该使用的语句是?( ) | ||||||||
| |||||||||
试题编号:20220501-tr-034 | |||||||||
试题类型:单选题 | |||||||||
标准答案:D | |||||||||
试题难度:容易 | |||||||||
试题解析:Python调用函数的格式。 |
11. | 使用分治算法的基本步骤是?( ) | ||||||||
| |||||||||
试题编号:20220501-zwy-018 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:容易 | |||||||||
试题解析:使用分治算法的基本步骤是分解、解决、合并。 |
12. | 二分查找法是运用哪种策略实现的算法?( ) | ||||||||
| |||||||||
试题编号:20220501-zwy-024 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:容易 | |||||||||
试题解析:二分查找法,也叫折半查找法。每次都通过跟区间的中间元素对比, 将待查找的区间缩小为之前的一半,直到找到要查找的元素。属于分治算法的思想。 |
13. | 下列程序是分治算法的典型应用,其运行结果是?( ) def dividAndConquer(arr,left,right): if (right == left + 1) or (right == left): return max(arr[left],arr[right]) mid = int((left + right) / 2) leftMax = dividAndConquer(arr,left,mid) rightMax = dividAndConquer(arr,mid,right) return max(leftMax,rightMax) arr1 = [8, 1, 14, 19, 5] print(dividAndConquer(arr1,0,4)) | ||||||||
| |||||||||
试题编号:20220501-zwy-025 | |||||||||
试题类型:单选题 | |||||||||
标准答案:B | |||||||||
试题难度:较难 | |||||||||
试题解析:分治算法求数组最大元素的值。 |
14. | 下列程序输出的结果是?( ) def change(a,b): | ||||||||
| |||||||||
试题编号:20220502-cj-006 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:容易 | |||||||||
试题解析:函数内为局部变量,所以主程序的a、b值并未改变。 |
15. | 下列程序运行的结果是?( ) def a(): | ||||||||
| |||||||||
试题编号:20220502-cj-007 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:容易 | |||||||||
试题解析:第一次调用b的时候,b还未被定义。 |
16. | 设函数f定义如下: def f(x,y = 0): 下列选项执行时,出现错误的是?( ) | ||||||||
| |||||||||
试题编号:20220502-cj-009 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:容易 | |||||||||
试题解析:不指定形参名称的话,参数只能省略后面的。 |
17. | 下列程序段运行的结果是?( ) def check(x = 2,y = 3): | ||||||||
| |||||||||
试题编号:20220503-cj-003 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:容易 | |||||||||
试题解析:按形参名称传递参数。 |
18. | def AddApple(fruit=None): 以上程序段运行的结果是?( ) | ||||||||
| |||||||||
试题编号:20220503-cj-004 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:较难 | |||||||||
试题解析:第一、二次调用AddApple,虽然都会返回值,但并没有对返回值做任何处理。 第三次调用AddApple,程序直接用print语句把返回值输出。 |
19. | def ThankYou(name): | ||||||||
| |||||||||
试题编号:20220503-cj-005 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:容易 | |||||||||
试题解析:ThankYou第一次正常调用,第二次没带参数,所以报错。 |
20. | 编写程序计算1+1/2+1/3+……+1/n的结果,可以使用哪种调用函数自身的算法?( ) | ||||||||
| |||||||||
试题编号:20220516-cqf-24 | |||||||||
试题类型:单选题 | |||||||||
标准答案:B | |||||||||
试题难度:容易 | |||||||||
试题解析:递归算法的基本思想 |
21. | 用下面的程序求解计算s=1+3+5+7+9的值,请选择横线处应填写的代码?( ) def Sum(n): | ||||||||
| |||||||||
试题编号:20220516-cqf-31 | |||||||||
试题类型:单选题 | |||||||||
标准答案:D | |||||||||
试题难度:较难 | |||||||||
试题解析:算式的步长为2。 |
22. | 下列选项中,哪一项不是递归函数必须要具备的条件?( ) | ||||||||
| |||||||||
试题编号:20220516-cqf-32 | |||||||||
试题类型:单选题 | |||||||||
标准答案:C | |||||||||
试题难度:一般 | |||||||||
试题解析:递归函数中不一定有循环语句。 |
23. | 用递归算法实现5的阶乘,则下方的程序中横线上需要的代码是?( ) def func(n): | ||||||||
| |||||||||
试题编号:20220516-cqf-33 | |||||||||
试题类型:单选题 | |||||||||
标准答案:C | |||||||||
试题难度:较难 | |||||||||
24. | 执行以下代码,程序的输出结果是?( ) def weight(n): | ||||||||
| |||||||||
试题编号:20220516-cqf-34 | |||||||||
试题类型:单选题 | |||||||||
标准答案:C | |||||||||
试题难度:较难 | |||||||||
试题解析:100+10+10 |
25. | 以下关于递归与递推的说法,错误的是?( ) | ||||||||
| |||||||||
试题编号:20220516-cqf-35 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:一般 | |||||||||
试题解析:递归算法虽然不涉及高深的数学知识,但是递归思想和模型并不容易理解。 |
26. | 函数中return语句只能放在函数定义的最后。( ) | |||
| ||||
试题编号:20220501-tr-008 | ||||
试题类型:判断题 | ||||
标准答案:错误 | ||||
试题难度:容易 | ||||
试题解析:return语句只要在函数体内都可以,一旦执行,退出函数体。 |
27. | Python定义函数时如果没有参数,也不能省略后面的空括号。( ) | |||
| ||||
试题编号:20220501-tr-009 | ||||
试题类型:判断题 | ||||
标准答案:正确 | ||||
试题难度:容易 | ||||
试题解析:Python定义函数时空括号不可以省略。 |
28. | 函数的参数分为形参和实参两种,函数调用中实参和形参的值可以互相传递。( ) | |||
| ||||
试题编号:20220501-tr-010 | ||||
试题类型:判断题 | ||||
标准答案:错误 | ||||
试题难度:容易 | ||||
试题解析:函数调用时,实参和形参之间的数据是单向的值传递,实参传递给形参是单向传递。 |
29. | 导入模块中指定成员时,可采用的语句是:import 成员名1,成员名2 from 模块名。( ) | |||
| ||||
试题编号:20220501-tr-035 | ||||
试题类型:判断题 | ||||
标准答案:错误 | ||||
试题难度:容易 | ||||
试题解析:导入模块中指定成员时,可采用的语句是:from 模块名 import 成员名1,成员名2 |
30. | 二分搜索、快速排序可以使用分治算法进行求解。( ) | |||
| ||||
试题编号:20220501-zwy-034 | ||||
试题类型:判断题 | ||||
标准答案:正确 | ||||
试题难度:一般 | ||||
试题解析:二分搜索、快速排序是分治算法的典型案例。 |
31. | 调用带有默认值参数的函数时,不能为默认值参数传递任何值,只能使用函数定义时设定的默认值。( ) | |||
| ||||
试题编号:20220503-cj-006 | ||||
试题类型:判断题 | ||||
标准答案:错误 | ||||
试题难度:容易 | ||||
试题解析:调用带有默认值参数的函数时,可以为默认值参数传递其它值。 |
32. | 在Python中,可以在自定义函数中再定义函数。( ) | |||
| ||||
试题编号:20220503-cj-007 | ||||
试题类型:判断题 | ||||
标准答案:正确 | ||||
试题难度:容易 | ||||
试题解析:函数可以嵌套 |
33. | 在定义一个函数时,如果出现调用自身的成分,则称为递推。( ) | |||
| ||||
试题编号:20220516-cqf-25 | ||||
试题类型:判断题 | ||||
标准答案:错误 | ||||
试题难度:容易 | ||||
试题解析:调用自身的成分是递归的特征。 |
34. | 递归算法通常显得很简洁,因为多次调用自身,所以运行效率较高, 应该大力提倡用递归算法设计程序。( ) | |||
| ||||
试题编号:20220516-cqf-26 | ||||
试题类型:判断题 | ||||
标准答案:错误 | ||||
试题难度:容易 | ||||
试题解析:递归算法的效率不高,并不是首选算法,应该优先选择其他效率更高的算法。 |
35. | 同样的问题使用不同的算法编程解决,其时间复杂度可能不一样。( ) | |||
| ||||
试题编号:20220428-fcl-029 | ||||
试题类型:判断题 | ||||
标准答案:正确 | ||||
试题难度:容易 | ||||
试题解析:不同的算法,时间复杂度可能不一样。 |
36. | 验证哥德巴赫猜想:任意一个大于等于4的偶数总可以分解为两个素数之和。请在下面的横线上补全代码,使得通过键盘输入一个偶数x(x<1000,输出这两个素数。如果有多组解,只需要输出一组,并且第一个素数要尽可能地小。例如,输入“10”,输出“3 7“;输入“18”,输出“5 13”。 |
试题编号:20220501-tr-036 | |
试题类型:编程题 | |
标准答案: 参考程序: def prime(x): for i in range(2, x): | |
试题难度:一般 | |
试题解析: 评分标准: (1) 0 或等效答案 ;(3分) |
37. | 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数,例如12321、765567就是回文数。请补全下列代码,编程实现用分治的方法判断一个整数是否是回文数。 def ispel(s): num = len( ① )
|
试题编号:20220501-zwy-036 | |
试题类型:编程题 | |
标准答案: 参考程序: def ispel(s): num = len(s) if num == 0: return False if num == 1: return True if num == 2: return s[0] == s[1] else: return s[0] == s[num - 1] and ispel(s[1:num - 1]) st = input("请输入一个整数:") if ispel(st) == True: print("输入的是回文数") else: print("输入的不是回文数") | |
试题难度:一般 | |
试题解析: 评分标准: ① s或等效答案 ; (2分) ② s[1]或等效答案 ; (2分) ③ num-1或等效答案 ; (2分) ④ ispel(st) 或等效答案。(2分) |
38. | 小青蛙爬楼梯。楼梯有n级。小青蛙每次只能爬1级或2级。 当楼梯只有1级时,青蛙只有1种爬法。 当楼梯有2级时,青蛙有2种爬法:一次爬2级;一次爬1级,爬2次。 请从键盘上接收楼梯级数n,输出青蛙有几种爬法。 示例输入 请输入楼梯级数:8 示例输出 8级楼梯共有34种爬法。 程序如下: def Climb(n): |
试题编号:20220505-cj-001 | |
试题类型:编程题 | |
标准答案: 参考程序: def Climb(n): | |
试题难度:容易 | |
试题解析: 评分标准: (1)n==1; (2分) (2)return 2; (2分) (3)Climb(n-1)+Climb(n-2); (2分) (4)n; (2分) (5)Climb(n).(2分) |