07 202209青少年软件编程(Python)等级考试试卷(二级)

标签:
普通文字版答案
2024-11-01
| 14页
| 102人阅读
| 4人下载

内容正文:

青少年软件编程(Python)等级考试试卷(二级) 202209真题与解析 分数:100  题数:37 测试时长:60分钟 一、单选题(共25题,每题2分,共50分) 1、运行以下代码,结果输出的是?( ) means = ['Thank', 'You'] print(len(means)) A. 8 B. 6 C. 2 D. 1 2、下列语句中变量 i 取值范围是 1~10 的是?( ) A. for i in range(11) B. for i in range(1, 10) C. for i in range(0, 10) D. for i in range(1, 11) 3、今天编程课的主要内容是字典的遍历。已知字典 dt = {'a': [1, 3, 5], 'b': [3, 4, 7], 'c': [2, 5, 9]},老师要求用四种不同的方法遍历字典,都要获得如下结果 [1, 3, 5] [3, 4, 7] [2, 5, 9] 小程同学尝试写了四段程序,请你帮他检查一下哪个程序的打印结果不符合要求?( ) A. dt = {'a': [1, 3, 5], 'b': [3, 4, 7], 'c': [2, 5, 9]} ls = [] for i in dt.values(): ls.append(i) print(i) B. dt = {'a': [1, 3, 5], 'b': [3, 4, 7], 'c': [2, 5, 9]} ls = [] for i in dt: ls.append(dt[i]) for j in ls: print(j) C. dt = {'a': [1, 3, 5], 'b': [3, 4, 7], 'c': [2, 5, 9]} ls = [] for k in dt.keys(): ls.append(dt[k]) for j in ls: print(j) D. dt = {'a': [1, 3, 5], 'b': [3, 4, 7], 'c': [2, 5, 9]} ls = [] for k in dt.items(): print(k) 4、执行以下代码后输出的结果是?( ) d = {1: 'monkey', 2: 'panda', 3: 'bird', 4: 'fish'} d[5] = 'sheep' del d[3] d[3] = 'dog' print(d) A. {1: 'monkey', 2: 'panda', 4: 'fish', 5: 'sheep', 3: 'cat'} B. {1: 'monkey', 2: 'panda', 4: 'fish', 5: 'sheep', 3: 'dog'} C. {1: 'monkey', 2: 'panda', 3: 'dog, 5: 'sheep', 4: 'duck'} D. {1: 'monkey', 2: 'panda', 3: 'cat', 5: 'sheep', 4: 'duck'} 5、tp = (3, 6, 9, 11),以下操作正确的是?( ) A. x = tp[2] B. x = tp(2) C. tp[3] = 12 D. tp(3) = 12 6、列表a = list(range(2, 10)),下列选项中可以获取列表中最后一个元素?( ) A. a[8] B. a[7] C. a[9] D. a[10] 7、表达式tuple(list('Python'))的运算结果是?( ) A. ['Python'] B. ('P', 'y', 't', 'h', 'o', 'n') C. ['P', 'y', 't', 'h', 'o', 'n'] D. ('Python') 8、若list_a = [5, 4, 1, 2, 3],以下选项中能够输出 [5, 4, 3, 2, 1] 的是?( ) A. list_a = sorted(list_a) print(list_a) B. list_a.sort() print(list_a) C. list_a.sort(reverse=True) print(list_a) D. list_a.sort(reverse=False) print(list_a) 9、以下代码的输出结果是?( ) s = list(range(10)) print(10 not in s) A. True B. False C. 0 D. -1 10、以下代码运行结果正确的是?() list1 = [[[[['a']], ['冰墩墩']], 6], ['雪容融']] print(len(list1)) A. 5 B. 4 C. 3 D. 2 11、请为下列程序空白处选出合适的选项,输出结果为 ['a', 'A', 9, 'a']。( ) ls1 = ['a', 'A', 'a', 9, 'a'] ______ print(ls1) A. del ls1('a') B. ls1.pop(2) C. ls1.clear() D. ls1.remove('a') 12、以下代码的输出结果是?( ) ls = [1, 2, [3, 4], [5, 6]] print(ls[2][1]) A. 6 B. 2 C. 3 D. 4 13、下面代码的输出结果是?( ) for i in range(1, 6): if i % 3 == 0: break else: print(i, end=",") A. 1, 2, B. 1, 2, 3, C. 1, 2, 3, 4, 5, D. 1, 2, 3, 4, 5, 6, 14、给定字典 d,哪个选项对 x in d 的描述是正确的?( ) A. 判断x是否是字典d中的键 B. x是一个二元元组,判断x是否是字典d中的键值对 C. 判断x是否是字典d中的值 D. 判断x是否是在字典d中以键或值方式存在 15、下列程序的运行结果是?( ) str1 = '0123456789' str2 = str1[1:9:2] print(str2) A. 1357 B. 024 C. 13579 D. 0246 16、小明用元组 a 存储小组同学的身高,a = (136.0, 135.0, 142.0, 140.0),则 min(a) 的值是?( ) A. 136.0 B. 135.0 C. 142.0 D. 140.0 17、下列语句运行后,输出结果为2022的是哪个?( ) A. print("20" + "22") B. print(20 + 22) C. print("2022" in "2022") D. s = "你好2022" print(s[3:4]) 18、已知元组tup2 = (1, 14, 51, 4, 19, 198, 10),下列说法有错误的是?( ) A. print(tup2[1:-1])可以截取元组的一部分,输出的结果为(14, 51, 4, 19, 198, 10) B. print(tup2[3:])可以截取元组的一部分,输出的结果为(4, 19, 198, 10) C. print(tup2[3:6])可以截取元组的一部分,输出的结果为(4, 19, 198) D. print(tup2[5])可以访问元组的第六个元素,输出的结果为198 19、下列说法错误的是?( ) A. 列表的大小是固定的,不可以改变 B. len()方法可以返回列表的元素个数 C. 假设list2列表有十个元素,则list2[2]可以读取list2列表中的第三个元素 D. 列表的数据项不需要具有相同的类型 20、请根据运行结果将代码空白处填上合适的选项?( ) 代码: num1 = 1 while num1 <= 5: num2 = 1 while num2 <= 5: ___________ num2 += 1 print() num1 += 1 运行结果: 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 A. print(num2, end="") B. print(num2, end=" ") C. print(num1) D. print(num1, end=" ") 21、关于下列伪代码(虚拟代码)说法正确的是?( ) if x < 10: 代码块A elif x >= 10 and x < 20: 代码块B else: 代码块C A. 如果 x = 200,代码块ABC都不会被执行 B. 如果 x = 20,执行代码块C C. 如果 x = 20,执行代码块B D. 程序先执行C,再执行B,最后执行A 22、执行以下程序,输入"中国梦2022",输出结果是?( ) w = input() for x in w: if x == '0' or x == '2': continue else: w.replace(x, '@') print(w) A. 中国梦2022 B. 中国@2022 C. @@@2022 D. 2022中国梦 23、字典dic = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'},len(dic)的结果是?( ) A. 3 B. 6 C. 9 D. 12 24、以下不能创建一个字典的语句是?( ) A. dic = {"name": "python"} B. dic = {"age": 13} C. dic = {[1, 2]: "user"} D. dic = {} 25、关于字符串的操作,下列说法错误的是?( ) A. len()返回字符串长度 B. count()统计字符或者字符串在整个字符串中的个数 C. sort()可以给字符串排序 D. split()是给字符串进行分割 二、判断题(共10题,每题2分,共20分) 26、字典中的键是唯一的,不能重复。而值对应于键,值是可以重复的。( ) 27、print(len('See You'))这句指令的长度是有7个字符,因为两个单词间的空格也算一个字符。( ) 28、以下程序的执行结果是“假”。( ) x = 2 if 10 > 20 and x > 0: print('真') else: print('假') 29、列表和元组都可以作为字典的键。( ) 30、 a = [1, 2, 3, 4] s = 0 for i in a: s += 1 print(s) 以上代码的运行结果是4。( ) 31、元组是不可变的序列,这里的不可变包括不能对元组对象进行增加元素、删除元素,修改元素位置是可以的。( ) 32、运行下列程序段后,屏幕上绘制的是一个五边形。( ) import turtle as t for i in range(1, 5): t.forward(50) t.left(90) 33、若 s = "人脸识别可以识别人脸信息",则执行 s.replace("人脸","图像") 语句后,s 的值为"图像识别可以识别图像信息"。( ) 34、(127, 3.56, '1&5#!^*2', '4.(.$0..6')是一个合法的元组。( ) 35、在Python中 range(),表示的是正整数序列,负数是无效的。( ) 三、编程题(共2题,共30分) 36、某航空公司对于托运行李有尺寸要求,必须满足以下条件: 每件托运行李的长、宽、高三边之和须大于或等于60厘米,且小于或等于203厘米。(注意只是三边,不考虑立方体的整个周长,相当于只求长+宽+高三个数字的和,如,长宽高为:20、30、40,则之和为90) 编写一个重复执行的程序,要求如下: 1、用户一次性输入三个数字,分别代表行李的长、宽、高(单位:厘米),三个数字直接用英文的逗号隔开;如:23,45,67 2、程序自动将输入的长宽高转化为列表或者元组; 3、程序需要判断用户输入的托运行李尺寸是否满足此航空公司的要求。 4、如果满足要求,就输出"可以托运"。如果不满足要求,就输出"不可以托运"。 5、然后重复以上操作,重复次数不限。 37、统计一段文本中有几句话 编写程序,要求如下: 1、程序开始运行后,需要用户输入一段中文; 2、根据用户的输入,统计其中共有几句话(以句末为“。”“?”或“!”为依据,判断一句话); 3、 输出统计结果,如:“这段话中共有3句话”。 参考答案及解析: 一、单选题答案及解析 1. C - 解析:列表`means`中有两个元素,所以`len(means)`为2。 2. D - 解析:`range(1, 11)`生成1到10的整数序列。选项A是0到10;选项B是1到9;选项C是0到9。 3. D - 解析:选项D输出的是键值对,不是只输出值。选项A、B、C都正确地输出了字典的值。 4. B - 解析:向字典中添加元素`d[5] = 'sheep'`,删除元素`del d[3]`,再添加`d[3] = 'dog'`,结果为`{1: 'monkey', 2: 'panda', 4: 'fish', 5: 'sheep', 3: 'dog'}`。 5. A - 解析:元组可以通过索引获取元素,选项A正确。元组不能像函数一样调用,也不能通过索引赋值修改元素,所以B、C、D错误。 6. B - 解析:列表`a = list(range(2, 10))`,索引从0开始,最后一个元素的索引是长度减1,即6,对应选项B。 7. B - 解析:`tuple(list('Python'))`先将字符串转换为列表,再转换为元组,结果为`('P', 'y', 't', 'h', 'o', 'n')`。 8. C - 解析:`list_a.sort(reverse=True)`对列表进行降序排序,结果为`[5, 4, 3, 2, 1]`。选项A、B是升序排序;选项D是升序排序且不改变原始列表。 9. A - 解析:判断10是否在列表`s`中,不在则返回`True`。 10. D - 解析:`list1`中有两个元素,所以`len(list1)`为2。 11. B - 解析:A 选项语法错误。B 选项`ls1.pop(2)`会移除并返回索引为 2 的元素,使原列表变为`['a', 'A', 9, 'a']`,符合要求。C 选项会清空列表不符合。D 选项只会移除第一个出现的`'a'`不符合。所以答案是 B。 12. D - 解析:`ls[2][1]`表示访问列表`ls`中索引为2的元素(即`[3, 4]`),再取这个列表中的索引为1的元素,结果为4。 13. A - 解析:循环遍历1到5,当`i % 3 == 0`时跳出循环,否则输出`i`,结果为`1, 2,`。 14. A - 解析:`x in d`判断`x`是否是字典`d`中的键。 15. A - 解析:字符串切片`str1[1:9:2]`从索引1开始到索引9(不包括),步长为2,结果为`1357`。 16. B - 解析:`min(a)`返回元组`a`中的最小值,为135.0。 17. A - 解析:选项 A:"20" + "22"是字符串拼接,结果为"2022"。选项 B:20 + 22是数字加法,结果为42。选项 C:"2022" in "2022"是判断"2022"是否在"2022"中,结果是True,不是2022。选项 D:s[3:4]是截取字符串s,s = "你好2022",s[3:4]结果为2,不是2022。所以答案是 A。 18. A - 解析:tup2[1:-1]表示从索引 1 开始到倒数第二个元素,对于元组tup2 = (1, 14, 51, 4, 19, 198, 10),输出结果应该是(14, 51, 4, 19, 198),而不是(14, 51, 4, 19, 198, 10)。 19. A - 解析:列表的大小是可变的,可以添加、删除元素,A错误。B、C、D选项正确。 20. D - 解析:内层循环每次输出当前的`num1`值,并用空格分隔,外层循环换行,结果为`1 1 1 1 1`等。选项A没有空格分隔;选项B输出`num2`值;选项C输出`num1`后没有空格分隔。 21. B - 解析:如果`x = 20`,满足`x >= 10 and x < 20`,执行代码块B。A选项代码块B会被执行;C选项不满足条件;D选项执行顺序错误。 22. A - 解析:用户输入“中国梦2022”赋值给`w`。循环遍历`w`中字符,当字符非`'0'`和`'2'`时执行`w.replace(x, '@')`,但该操作不直接修改`w`且未重新赋值,所以最后输出仍是“中国梦2022”,答案是 A。 23. A - 解析:字典`dic = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}`中有三个键值对,所以`len(dic)`为3。 24. C - 解析:字典的键必须是不可变类型,列表是可变类型不能作为字典的键。选项A、B、D可以创建字典。 25. C - 解析:字符串没有`sort()`方法,列表可以使用`sort()`方法排序。A、B、D选项对字符串的操作正确。 二、判断题答案及解析 26. √ - 解析:字典中的键是唯一的,不能重复,值可以重复。 27. √ - 解析:`len('See You')`计算字符串长度,两个单词间的空格也算一个字符,长度为7。 28. √ - 解析:`10 > 20`为假,且关系中只要有一个为假则结果为假,`x > 0`为真,但整体为假,所以输出“假”。 29. × - 解析:列表是可变类型,不能作为字典的键,元组是不可变类型,可以作为字典的键。 30. √ - 解析:列表a中有4个元素,所以循环中的下级代码会执行4次,每次执行时,变量s的值会加1,所以代码运行结束时,变量s的值是4。 31. × - 解析:元组是不可变的序列,不能对元组对象进行增加元素、删除元素、修改元素位置等操作。 32. × - 解析:循环`range(1, 5)`只执行4次,绘制的是四边形不是五边形。 33. × - 解析:s.replace("人脸","图像")这行代码会返回一个新的字符串,其中所有的 “人脸” 都被替换为 “图像”,但是它并不会修改原始的字符串s。所以执行完这段代码后,输出s的值仍然是 “人脸识别可以识别人脸信息”。 34. √ - 解析:元组可以包含不同类型的元素,这个元组是合法的。 35. × - 解析:`range()`可以接受负数参数,如`range(-5, 0)`会生成-5到-1的整数序列。 三、编程题解析 36. 参考代码: while True: # 创建一个无限循环,使得程序可以重复执行 input_str = input("请输入行李的长、宽、高(用逗号隔开):") # 获取用户输入的字符串,格式为长、宽、高用逗号隔开 a, b, c = map(int, input_str.split(',')) # 将用户输入的字符串按逗号分割后,通过 map 函数将分割后的每个元素转换为整数,分别赋值给 a、b、c if 60 <= a + b + c <= 203: # 判断行李的长、宽、高之和是否在 60 到 203 厘米之间 print("可以托运") # 如果满足条件,输出可以托运 else: print("不可以托运") # 如果不满足条件,输出不可以托运 总结:这段 Python 代码实现了一个重复执行的程序,用于判断用户输入的行李长、宽、高是否满足某航空公司的托运行李尺寸要求。程序通过无限循环接收用户输入,将输入的字符串转换为整数后进行条件判断,并输出相应的结果,以便用户确定行李是否可以托运。 37. 参考代码: text = input("请输入一段中文:")# 从用户获取一段中文文本并赋值给变量 text sentence_endings = ['.', '?', '!']# 定义一个包含句末标点符号的列表,用于判断句子的结束 count = 0# 初始化句子计数变量为 0 for char in text: # 遍历输入的文本中的每个字符 if char in sentence_endings: # 如果当前字符在句末标点符号列表中 count += 1 # 句子计数加一 print(f"这段话中共有{count}句话。")# 输出统计结果,告诉用户输入的文本中共有多少句话 总结:这段 Python 代码的功能是统计用户输入的中文文本中的句子数量。它通过遍历文本中的每个字符,检查是否为句末标点符号(“。”“?”“!”)来确定句子的数量,最后输出统计结果,让用户了解输入文本中的句子总数。 学科网(北京)股份有限公司 $$

资源预览图

07 202209青少年软件编程(Python)等级考试试卷(二级)
1
07 202209青少年软件编程(Python)等级考试试卷(二级)
2
07 202209青少年软件编程(Python)等级考试试卷(二级)
3
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。