目录
一、单选题(共25题,共50分)
二、判断题(共10题,共20分)
三、编程题(共3题,共30分)
青少年软件编程(Python)等级考试试卷(三级)
一、单选题(共25题,共50分)
1. | 列表L1中全是整数,小明想将其中所有奇数都增加1,偶数不变,于是编写了如下图所示的代码。 | ||||||||
| |||||||||
试题编号:20220425-ll-016 | |||||||||
试题类型:单选题 | |||||||||
标准答案:D | |||||||||
试题难度:一般 | |||||||||
试题解析:本题代码中,for x in L1 是在L1列表中循环,每次取出的值x交给if语句进行判断,如果除以2的余数不等于0,就是奇数,则x+1,若等于0则x值不变。取余数的运算符是%,所以正确答案就是D。 | |||||||||
考生答案:D | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
2. | 小明为了学习选择排序的算法,编写了下面的代码。针对代码中红色文字所示的一、二、三处, 下面说法正确的是?( ) a = [8,4,11,3,9] a[mi],a[i] = a[i],a[mi] #代码三 print(a) | ||||||||
| |||||||||
试题编号:20220425-ll-024 | |||||||||
试题类型:单选题 | |||||||||
标准答案:B | |||||||||
试题难度:一般 | |||||||||
试题解析: | |||||||||
考生答案:B | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
3. | 小明编写了一段演示插入排序的代码,代码如下。请问红色“缺失代码”处,应该填写哪段代码?( ) a = [8,4,11,3,9] | ||||||||
| |||||||||
试题编号:20220425-ll-025 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:一般 | |||||||||
试题解析:本题考查学生对插入排序算法的理解。当前位置数字需要通过循环,逐个与之前位置的数字进行比较,所以正确答案是A,j=j-1,用于下一次循环时,获取前一个数字。 | |||||||||
考生答案:B | |||||||||
考生得分:0 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
4. | 在计算机中,信息都是采用什么进行存储?( ) | ||||||||
| |||||||||
试题编号:20220503-ppz-001 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:容易 | |||||||||
试题解析:信息的二进制存储。 | |||||||||
考生答案:A | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
5. | 十进制数(100)10,转化为二进制数为( )2? | ||||||||
| |||||||||
试题编号:20220503-ppz-002 | |||||||||
试题类型:单选题 | |||||||||
标准答案:C | |||||||||
试题难度:一般 | |||||||||
试题解析:十进制与二进制转化问题。 | |||||||||
考生答案:A | |||||||||
考生得分:0 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
6. | 十六进制数每一位至多可以表示几位二进制位?( ) | ||||||||
| |||||||||
试题编号:20220503-ppz-003 | |||||||||
试题类型:单选题 | |||||||||
标准答案:C | |||||||||
试题难度:容易 | |||||||||
试题解析:十六进制数与二进制数的关系。 | |||||||||
考生答案:C | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
7. | 八进制数(35)8,转化为十进制数为( ) 10? | ||||||||
| |||||||||
试题编号:20220503-ppz-004 | |||||||||
试题类型:单选题 | |||||||||
标准答案:D | |||||||||
试题难度:较难 | |||||||||
试题解析:A是二进制数;B是二进制数,没有倒排;C是十进制数,展开的权错了;D正确。 | |||||||||
考生答案:C | |||||||||
考生得分:0 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
8. | 执行代码a=min(3,2,4.3),变量a的值是?( ) | ||||||||
| |||||||||
试题编号:20220510-xb-11 | |||||||||
试题类型:单选题 | |||||||||
标准答案:B | |||||||||
试题难度:容易 | |||||||||
试题解析:min(3,2,4.3)中最小值为2,赋值给a | |||||||||
考生答案:B | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
9. | print(max('python+'))的运行结果是?( ) | ||||||||
| |||||||||
试题编号:20220510-xb-12 | |||||||||
试题类型:单选题 | |||||||||
标准答案:D | |||||||||
试题难度:容易 | |||||||||
试题解析:max('python+'),字母中’y’最大,print(‘y’)的结果为y。 | |||||||||
考生答案:C | |||||||||
考生得分:0 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
10. | a=5.12596 print(round(a,2))运行结果是?( ) | ||||||
b 5.1
| |||||||
试题编号:20220510-xb-15 | |||||||
试题类型:单选题 | |||||||
标准答案:D | |||||||
试题难度:较难 | |||||||
试题解析:保留2位小数,四舍五入,所以结果是5.13。 | |||||||
考生答案:D | |||||||
考生得分:2 | |||||||
是否评分:已评分 | |||||||
评价描述: |
11. | type([{2.6}])运行的结果是?( ) | ||||||||
| |||||||||
试题编号:20220510-xb-16 | |||||||||
试题类型:单选题 | |||||||||
标准答案:D | |||||||||
试题难度:容易 | |||||||||
试题解析:type([{2.6}])运行的结果是list。 | |||||||||
考生答案:D | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
12. | 执行如下代码 a=[1,2,3,4] print(list(enumerate(a))) 运行结果是?( ) | ||||||||
| |||||||||
试题编号:20220510-xb-17 | |||||||||
试题类型:单选题 | |||||||||
标准答案:B | |||||||||
试题难度:较难 | |||||||||
试题解析:enumerate() 函数用于将一个可遍历的数据对象 (如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。 | |||||||||
考生答案:B | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
13. | set('hello')运行结果是?( ) | ||||||||
| |||||||||
试题编号:20220510-xb-18 | |||||||||
试题类型:单选题 | |||||||||
标准答案:C | |||||||||
试题难度:一般 | |||||||||
试题解析:集合去重,所以结果为{'e', 'h', 'l', 'o'}。 | |||||||||
考生答案:C | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
14. | print(sum([5,10,min(7,4,6)]))的运行结果是?( ) | ||||||||
| |||||||||
试题编号:20220510-xb-19 | |||||||||
试题类型:单选题 | |||||||||
标准答案:D | |||||||||
试题难度:一般 | |||||||||
试题解析:先求出min(7,4,6)中最小值4,再进行sum(5,10,4)求和,得出19。 | |||||||||
考生答案:D | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
15. | divmod(100,3)的执行结果是?( ) | ||||||||
| |||||||||
试题编号:20220510-xb-21 | |||||||||
试题类型:单选题 | |||||||||
标准答案:B | |||||||||
试题难度:一般 | |||||||||
试题解析:divmod(100,3)的运行结果为(33, 1)。 | |||||||||
考生答案:B | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
16. | 下列表达式结果是False的是?( ) | ||||||||
| |||||||||
试题编号:20220510-xb-22 | |||||||||
试题类型:单选题 | |||||||||
标准答案:C | |||||||||
试题难度:一般 | |||||||||
试题解析:all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 True,如果是返回 True,否则返回 False。 元素除了是 0、空、None、False 外都算 True。 | |||||||||
考生答案:C | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
17. | 将字符串或数字转换为浮点数的函数是?( ) | ||||||||
| |||||||||
试题编号:20220510-xb-23 | |||||||||
试题类型:单选题 | |||||||||
标准答案:B | |||||||||
试题难度:一般 | |||||||||
试题解析:float() 函数用于将整数和字符串转换成浮点数。 | |||||||||
考生答案:B | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
18. | 以下表达式的值为True是?( ) | ||||||||
| |||||||||
试题编号:20220510-xb-24 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:容易 | |||||||||
试题解析:bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。bool({2022})中间有元素,所以为True。 | |||||||||
考生答案:A | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
19. | 有这样一段程序: | ||||||||
| |||||||||
试题编号:20220510-ylx-005 | |||||||||
试题类型:单选题 | |||||||||
标准答案:B | |||||||||
试题难度:一般 | |||||||||
试题解析:open("fruits.csv","w")表示打开CSV文件, 进行写入操作("w"表示可覆盖写入)。",".join(a)表示将a列表中的元素取出, 并用","连接成新的字符串,写入文件。 | |||||||||
考生答案:A | |||||||||
考生得分:0 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
20. | 关于文件的读写操作,下列说法不正确的是?( ) | ||||||||
| |||||||||
试题编号:20220510-ylx-006 | |||||||||
试题类型:单选题 | |||||||||
标准答案:D | |||||||||
试题难度:较难 | |||||||||
试题解析:文件内容的读取可以视不同情况选择不同的函数,reader()也是其中之一。 | |||||||||
考生答案:D | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
21. | 关于下列列表,说法正确的是?( ) | ||||||||
| |||||||||
试题编号:20220510-ylx-007 | |||||||||
试题类型:单选题 | |||||||||
标准答案:A | |||||||||
试题难度:一般 | |||||||||
试题解析:二维列表的每个元素本身也是列表。可通过循环读取元素并写入CSV文件。 | |||||||||
考生答案:A | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
22. | 有关于write()函数的说法正确的是?( ) | ||||||||
| |||||||||
试题编号:20220510-ylx-008 | |||||||||
试题类型:单选题 | |||||||||
标准答案:C | |||||||||
试题难度:较难 | |||||||||
试题解析:write()函数可向文件中写入一行或多行数据。 其参数必须为字符串,而writelines( )函数既可以传入字符串也可以传入一个字符序列,并写入文件。 | |||||||||
考生答案:C | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
23. | 对于在csv文件中追加数据,下列说法正确的是?( ) | ||||||||
| |||||||||
试题编号:20220510-ylx-009 | |||||||||
试题类型:单选题 | |||||||||
标准答案:D | |||||||||
试题难度:容易 | |||||||||
试题解析:在CSV中追加数据可以用writerow( )函数进行一行一行写入, 也可以用writerows( )函数进行多行写入数据。 | |||||||||
考生答案:D | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
24. | Python的异常处理try....except...else...finally机制中,以下哪部分语句一定能得到全部执行?( ) | ||||||||
| |||||||||
试题编号:20220515-xm-15 | |||||||||
试题类型:单选题 | |||||||||
标准答案:D | |||||||||
试题难度:一般 | |||||||||
试题解析: | |||||||||
考生答案:D | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
25. | Python的异常处理机制中,以下表述哪项是错误的?( ) | ||||||||
| |||||||||
试题编号:20220515-xm-16 | |||||||||
试题类型:单选题 | |||||||||
标准答案:D | |||||||||
试题难度:一般 | |||||||||
试题解析: | |||||||||
考生答案:D | |||||||||
考生得分:2 | |||||||||
是否评分:已评分 | |||||||||
评价描述: |
二、判断题(共10题,共20分)
26. | 二进制数转化为十进制数的方法是:按权展开、逐项相加,如:(101)2=(10)10。( ) | |||
| ||||
试题编号:20220503-ppz-006 | ||||
试题类型:判断题 | ||||
标准答案:错误 | ||||
试题难度:一般 | ||||
试题解析:末位的权应为0。 | ||||
考生答案:错误 | ||||
考生得分:2 | ||||
是否评分:已评分 | ||||
评价描述: |
27. | 语句print(round(2.785, 2))运行后的结果是2.79。( ) | |||
| ||||
试题编号:20220510-xb-10 | ||||
试题类型:判断题 | ||||
标准答案:正确 | ||||
试题难度:容易 | ||||
试题解析:round(2.785, 2)保留两位小数,运行后为2.79。 | ||||
考生答案:正确 | ||||
考生得分:2 | ||||
是否评分:已评分 | ||||
评价描述: |
28. | map() 不会根据提供的函数对指定序列做映射。( ) | |||
| ||||
试题编号:20220510-xb-13 | ||||
试题类型:判断题 | ||||
标准答案:错误 | ||||
试题难度:一般 | ||||
试题解析:map() 会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。 | ||||
考生答案:正确 | ||||
考生得分:0 | ||||
是否评分:已评分 | ||||
评价描述: |
29. | 语句print(tuple(range(5)))的输出结果是(0, 1, 2, 3, 4)。( ) | |||
| ||||
试题编号:20220510-xb-14 | ||||
试题类型:判断题 | ||||
标准答案:正确 | ||||
试题难度:一般 | ||||
试题解析:语句tuple(range(5))的输出结果是(0, 1, 2, 3, 4)。 | ||||
考生答案:正确 | ||||
考生得分:2 | ||||
是否评分:已评分 | ||||
评价描述: |
30. | 运行语句set('2022'),其输出结果是{'2','0','2','2'} ( ) | |||
| ||||
试题编号:20220510-xb-20 | ||||
试题类型:判断题 | ||||
标准答案:错误 | ||||
试题难度:容易 | ||||
试题解析:运行语句set('2022'),其输出结果是{'0', '2'}。 | ||||
考生答案:错误 | ||||
考生得分:2 | ||||
是否评分:已评分 | ||||
评价描述: |
31. | f=open(‘ss.csv’,’r’) | |||
| ||||
试题编号:20220510-ylx-028 | ||||
试题类型:判断题 | ||||
标准答案:正确 | ||||
试题难度:一般 | ||||
试题解析:考核read()函数的用法。 | ||||
考生答案:错误 | ||||
考生得分:0 | ||||
是否评分:已评分 | ||||
评价描述: |
32. | 一维数组可以用列表实现,二维数组则不能用列表实现。( ) | |||
| ||||
试题编号:20220510-ylx-029 | ||||
试题类型:判断题 | ||||
标准答案:错误 | ||||
试题难度:一般 | ||||
试题解析:一维数组和二维数组都可以用列表实现。二维数组通过列表嵌套列表实现。 | ||||
考生答案:正确 | ||||
考生得分:0 | ||||
是否评分:已评分 | ||||
评价描述: |
33. | 用with open (‘fruits.csv’,’r’)as f 语句,打开fruits.csv文件,在处理结束后不会自动关闭被打开的文件,因此需要写上f.close( )语句。( ) | |||
| ||||
试题编号:20220510-ylx-030 | ||||
试题类型:判断题 | ||||
标准答案:错误 | ||||
试题难度:较难 | ||||
试题解析:用with语句打开文件,处理结束后会自动关闭被打开的文件。 | ||||
考生答案:正确 | ||||
考生得分:0 | ||||
是否评分:已评分 | ||||
评价描述: |
34. | 异常处理结构中,finally程序段中的语句不一定都会得到执行。( ) | |||
| ||||
试题编号:20220515-xm-17 | ||||
试题类型:判断题 | ||||
标准答案:错误 | ||||
试题难度:一般 | ||||
试题解析: | ||||
考生答案:错误 | ||||
考生得分:2 | ||||
是否评分:已评分 | ||||
评价描述: |
35. | 在计算机中,每一个二进制位可以表示0和1两种信息。( ) | |||
| ||||
试题编号:20220503-ppz-005 | ||||
试题类型:判断题 | ||||
标准答案:正确 | ||||
试题难度:容易 | ||||
试题解析:二进制数的表示。 | ||||
考生答案:正确 | ||||
考生得分:2 | ||||
是否评分:已评分 | ||||
评价描述: |
三、编程题(共3题,共30分)
36. | 下面程序实现对二维数据的处理,请你补全代码。 f=open('/data/score2.csv','r') a=[] 程序执行结果为: [['王鑫', '86', '90', '92', '99', '94', '95'], ['杨小虹', '93', '97', '95', '90', '86', '85'], ['李静', '89', '98', '99', '94', '90', '85']] |
试题编号:202212-P3-36 | |
试题类型:编程题 | |
标准答案: 参考程序: f=open('/data/score2.csv','r') a=[] | |
试题难度:较难 | |
试题解析: 评分标准: (1)print(a,'\n')或等效答案;(2分) | |
考生答案:(此题已作答) | |
考生得分:0 | |
是否评分:已评分 | |
评价描述: |
37. | 在三位数的自然数中,找出至少有一位数字是5的,至少能被3整除的所有整数,并统计个数,具体代码如下: count=0 lst=[] for i in range( ① ): if i%3==0: a=i%10 b=i//10%10 c= ② if ③ : count+=1 lst.append(i) print("这样的三位数有:",lst) print("总数量有:",count) |
试题编号:202212-P3-37 | |
试题类型:编程题 | |
标准答案: 参考程序: count=0 lst=[] for i in range(100,1000): if i%3==0: a=i%10 b=i//10%10 c=i//100 if a==5 or b==5 or c==5: count+=1 lst.append(i) print("这样的三位数有:",lst) print("总数量有:",count) | |
试题难度:较难 | |
试题解析: 评分标准: (1)100,1000 或者100,1000,1 ;(3分) (2)i//100 ;(3分) (3)a==5 or b==5 or c==5 。(4分) | |
考生答案:(此题已作答) | |
考生得分:0 | |
是否评分:已评分 | |
评价描述: |
38. | 输入一个正数,以下代码编程求出它的平方根。请你补全代码。 in_var = float(input("请输入一个需要开方的正数,可以使用2位小数:\n x = ")) if in_var < 0: x = - in_var else: x = in_var low = 0.0 high = x s_root = ① if x > 0 and x < 1: high = 1.0 low = 0 s_root = ② if x >= 0: while abs( ③ ) > 0.0001: if x > 1.0: if s_root ** 2 < x: low = s_root else: high = s_root s_root = ④ if x == 1.0 and x == 0.0: s_root = x else: if s_root ** 2 < x: low = s_root else: high = s_root s_root = ⑤ if in_var >= 0: print("所求数的平方根为:s_root = %.1f"%(s_root)) |
试题编号:202212-P3-38 | |
试题类型:编程题 | |
标准答案: 参考程序: in_var = float(input("请输入一个需要开方的正数,可以使用2位小数:\n x = ")) if in_var < 0: x = - in_var else: x = in_var low = 0.0 high = x s_root =(low + high) / 2 if x > 0 and x < 1: high = 1.0 low = 0 s_root =(low + high) / 2 if x >= 0: while abs( s_root ** 2 - x) > 0.0001: if x > 1.0: if s_root ** 2 < x: low = s_root else: high = s_root s_root =(low + high) / 2 if x == 1.0 and x == 0.0: s_root = x else: if s_root ** 2 < x: low = s_root else: high = s_root s_root =(low + high) / 2 if in_var >= 0: print("所求数的平方根为:s_root = %.1f"%(s_root)) | |
试题难度:一般 | |
试题解析: 评分标准: (1)(low + high) / 2 ; (2分) (2)(low + high) / 2 ; (2分) | |
考生答案:(此题已作答) | |
考生得分:0 | |
是否评分:已评分 | |
评价描述: |