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

标签:
普通文字版答案
2024-11-01
| 10页
| 212人阅读
| 2人下载

内容正文:

青少年软件编程(Python)等级考试试卷(二级) 202309真题与解析 分数:100  题数:37 测试时长:60分钟 一、单选题(共25题,每题2分,共50分) 1、yyh = [2023, '杭州亚运会', ['拱宸桥', '玉琮''莲叶']] jxw = yyh[2][0] print(jxw[1] * 2) 以上代码运行结果是?( ) A. 宸宸 B. 杭杭 C. 玉玉 D. 州州 2、阿宝在学习Python语言编程,他写了一个程序可以实现输入月份数字就可以输出2023年该月的天数。程序如下: monthdays = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] m = int(input()) print('2023年' + str(m) + '月有' + str(monthdays[m]) + '天。') 要想得到2023年9月的天数,应该在终端输入的数字是?( ) A. 11 B. 10 C. 9 D. 8 3、下面这个列表中,包含几个元素?( ) list = ['a', ['bb', 'cc', 'dd'], 'e', ['ff', 'gg'], 'h'] print(list) A. 8个 B. 5个 C. 6个 D. 4个 4、使用下列哪几个命令可以把列表list1变成列表list2?( ) list1 = ['苹果', '樱桃', '西瓜', '香蕉', '葡萄', '菠萝', '芒果', '火龙果'] list2 = ['苹果', '樱桃', '西瓜', '香蕉', '葡萄', '菠萝', '桑葚', '番石榴'] A.del list1[6:8] list1 += ['桑葚', '番石榴'] B.del list1[6:7] list1 += ['桑葚', '番石榴'] C.del list1[6:8] list1.append(['桑葚', '番石榴']) D.del list1[6:7] list1.append(['桑葚', '番石榴']) 5、以下程序的输出结果是?( ) list = ['华东', '华西', '华南', '华北'] list.insert(2, '华中') list.pop() print(list) A. ['华东', '华西', '华中', '华南', '华北'] B. ['华东', '华中', '华西', '华南', '华北'] C. ['华东', '华西', '华中', '华南'] D. ['华西', '华中', '华南', '华北'] 6、下列程序运行后,输出的结果应该是哪个选项?( ) t = ('s', 'a', 'a', 'r', 5) print(t.index('a') + t.count('a')) A. 2 B. 3 C. 4 D. 5 7、numbers = [1, 2, 3, 4],以下哪一项可以用来访问numbers中的第三个元素?( ) A. numbers[1] B. numbers[2] C. numbers[3] D. numbers[4] 8、d = {"山东": "青岛", "浙江": "杭州", "安徽": "芜湖"},请问删除d中'山东'对应的数据值的函数或方法是?( ) A. del d['浙江'] B. d.clear() C. del d['山东'] D. d.pop(0) 9、以下关于循环的说法,不正确的是?( ) A. for循环可以用于遍历列表中的所有元素 B. while循环满足循环条件时不断地运行,直到指定的条件不满足为止 C. Python中可以使用do…while循环 D. break和continue语句都可以用在for循环和while循环中 10、执行以下程序代码 score = eval(input("请输入成绩:")) if score > 0 and score < 60:     print("不及格") elif score >= 60 and score <= 100:     print("及格") else:     print("请输入正确的成绩") 当输入60时,输出结果是?( ) A. 及格 B. 不及格 C. 请输入正确的成绩 D. 60 11、下列哪个说法不正确的是?( ) A. 字典是通过key(键)来进行访问的,跟列表、元组不同 B. 字典没有头下标和尾下标,跟value对应的就只有key(键) C. Python中可以通过重新给字典当中的key赋值的方式修改对应的value,不能通过新增key的方式来添加新的元素 D. 用Python内置函数是可以删除字典当中的元素的,整个字典也可以被清空或者删除 12、请问此程序运行后的结果是?( ) s = 1 for i in range(1, 4, 3):     s = s + i print(s) A. 2 B. 6 C. 1 D. 5 13、关于Python循环结构的说法,下列哪个是错误的?( ) A. Python可以通过for和while循环,实现遍历和各种循环等功能 B. break是用来跳出自己所在的整个循环体,执行循环后面的语句 C. continue结束整个循环过程,不再判断循环的执行条件,继续顺序执行循环后面的语句 D. 遍历循环中的遍历结构可以是字符串或者range()函数等 14、下面几个有关流程控制的说法,那个是错误的?( ) A. 如果条件判断语句永远为 true,循环将会无限的执行下去 B. 当判断条件为假(false) 时,循环结束 C. 在while 语句中,"判断条件"不可以是个常值 D. 执行语句可以是单个语句或语句块。判断条件可以是任何表达式等 15、运行下面的代码,输出的结果是?( ) name1 = '玛卡巴卡' name2 = '依古比古' name3 = '唔西迪西' print('晚安' + name2) A. 晚安玛卡巴卡 B. 晚安依古比古 C. 晚安唔西迪西 D. 晚安name2 16、下面代码中,不能创建一个字典的是?( ) A. d = {} B. d = {'葡萄', 20} C. d = {'葡萄': 20} D. d = {'葡萄': 20, '西瓜': 12} 17、字典 d = {"苹果": "apple", "香蕉": "banana", "橘子": "orange", "桃子": "peach"} 中按键值对的形式储存了部分水果的中英文名,以下能够只输出水果英文名的语句是?( ) A. print(d.values()) B. print(d.keys()) C. print(d.items()) D.以上三个语句都无法实现 18、下列定义元组的语句,不正确的是?( ) A. tp = ( ) B. tp = ('sun') C. tp = ('star',) D. tp = ('sun', 'star', 'moon') 19、下列关于列表的说法,正确的是?( ) A. 列表创建后不能被修改 B. 列表中各元素的类型必须相同 C. 列表不能用下标访问 D. 通过方括号[]可以创建列表 20、已知列表animal = ['cat', 'dog', 'monkey', 'tiger', 'lion'],要想得到'cat'的输出结果,以下哪个选项的语句是不正确的?( ) A. animal[0] B. animal[1] C. animal.reverse() animal[4] D. animal.reverse() animal[-1] 21、关于Python的元组类型,以下选项中描述错误的是?( ) A. 元组不可以被修改 B. Python中元组使用小括号和逗号表示 C. 元组中的元素要求是相同类型 D. 一个元组可以作为另一个元组的元素,可以采用多级索引获取信息 22、对 s = "www.baidu.com" 执行 s.split(".")后的结果是?( ) A. www.baidu.com B. ["www", "baidu", "com"] C. "www.baidu.com" D. wwwbaiducom 23、下面代码运行后,输出区打印的内容是?( ) s = 0 for i in range(10):     s += 1     if i * i < 50:         break print(s) A. 0 B. 1 C. 7 D. 3 24、以下代码执行后输出是?( ) list0 = [5, 4, 3, 2, 2] list0.remove(2) list0.insert(2, 6) print(list0) A. [5, 4, 3, 6, 2] B. [5, 4, 3, 2, 6] C. [5, 4, 3, 2, 6, 2] D. [5, 4, 6, 3, 2] 25、执行以下运算后,text2的值是?( ) text1 = "Good work" text2 = text1[-1] * 3 A. Good work Good work Good work B. workworkwork C. work work work D. kkk 二、判断题(共10题,每题2分,共20分) 26、元组一旦被创建就不能被修改。( ) 27、元组和列表都属于序列类型,他们的元素都有下标,可以调用sort()函数对元组和列表中的元素重新排列。( ) 28、列表是有序的,列表中可以放多个不同类型的元素,列表也可以是空的,[],[(),[]]都是空列表。( ) 29、dic_1 = {'键值1': '苹果', '键值2': '葡萄', '键值3': [11, 22, 33]} dic_1['键值4'] = '西瓜' print(dic_1) 上述代码的功能是:在字典dic_1中添加一个键值对,'键值4': '西瓜',输出添加后的字典,其值是:{'键值1': '苹果', '键值2': '葡萄', '键值3': [11, 22, 33], '键值4': '西瓜'}( ) 30、for i in range(5):     print(i) 上述代码的运行结果是( ) 1 2 3 4 5 31、s = "Python"; for i in s:    print(i); 上面这个程序段,运行后输出的结果是:Python。( ) 32、input() 语句输入的内容,一定是字符串类型的。( ) 33、下列程序在运行过程中,变量 i 的值不可能是5。( ) for i in range(5):     print(i) 34、'abc' - 'a' 的结果是 'bc'。( )。 35、if、elif和else后面均应写明条件以便判断True或False。( ) 三、编程题(共2题,共30分) 36、最小公倍数 最小公倍数是指两个或多个整数公有的倍数中,最小的那个数。例如,2 和 3 的公倍数有 6、12、18 等等,其中最小的是 6,因此 6 就是 2 和 3 的最小公倍数。 最小公倍数在数学中有广泛的应用,例如在分数的化简、约分、比较大小等问题中都需要用到最小公倍数。 请你编写一个程序,程序可以输入两个正整数,输出它们的最小公倍数。 样例输入: 请输入第一个正整数:6 请输入第二个正整数:8 样例输出: 24 37、中国电子学会主办的“全国青少年信息素养大赛”总决赛要开始了,组委会的老师要统计各个赛项报名的人数。请帮着写一个程序,实现该功能:统计时,输入各项编号表示对应的比赛: 1:Python编程挑战赛 2:开源鸿蒙主题赛 3:智慧物流挑战赛 0:表示录入完毕 要求: 一、循环执行 二、当输入错误数据,可以提示“没有此编号请重复输入”; 三、当输入0后,自动统计所有项目的参赛人数,并输出出来;如下面的案例: 输入样例: 请输入赛项编号:1 请输入赛项编号:2 请输入赛项编号:3 请输入赛项编号:2 请输入赛项编号:1 请输入赛项编号:1 请输入赛项编号:0 输出样例: Python编程挑战赛:3人 开源鸿蒙主题赛:2人 智慧物流挑战赛:1人 参考答案及解析: 一、单选题答案及解析 1. A - 解析:`yyh[2][0]`取到'拱宸桥',`'拱宸桥'[1]`是'宸',`'宸' * 2`为'宸宸'。 2. C - 解析:要得到2023年9月的天数,应该输入9。 3. B - 解析:列表中有5个元素,分别是'**a**'、['**bb**', '**cc**', '**dd**']、'**e**'、['**ff**', '**gg**']、'**h**'。 4. A - 解析:先删除`list1[6:8]`即删除'芒果'和'火龙果',再用`+=`连接列表添加'桑葚'和'番石榴'可得到`list2`。 5. C - 解析:`list.insert(2, '华中')`在索引2处插入'华中',`list.pop()`删除最后一个元素,结果为['华东', '华西', '华中', '华南']。 6. B - 解析:`t.index('a')`返回'a'第一次出现的索引为1,`t.count('a')`统计'a'的个数为2,结果为1 + 2 = 3。 7. B - 解析:列表索引从0开始,第三个元素的索引是2,所以用`numbers[2]`访问。 8. C - 解析:删除字典中指定键对应的值用`del d[key]`,这里是`del d['山东']`。 9. C - 解析:Python中没有`do...while`循环。 10. A - 解析:输入60,满足`score >= 60 and score <= 100`,输出“及格”。 11. C - 解析:Python中可以通过重新给字典当中的键赋值的方式修改对应的值,也可以通过新增键的方式来添加新的元素。 12. D - 解析:range(1,4,3)  这个包含的数据是1,不包含4。所以:1+1=2。 13. C - 解析:`continue`是结束本次循环,直接进入下一次循环的判断,而不是结束整个循环过程。 14. C - 解析:在`while`语句中,“判断条件”可以是个常值,只要常值为`True`,循环就会一直执行。 15. B - 解析:字符串连接输出“晚安依古比古”。 16. B - 解析:`d = {'葡萄', 20}`这种形式不是字典,字典应该是键值对的形式。 17. A - 解析:`d.values()`可以输出字典中所有的值,即水果英文名。 18. B - 解析:`tp = ('sun')`创建的是字符串而不是元组,正确的创建单个元素元组应该是`tp = ('sun',)`。 19. D - 解析:A选项,列表创建后可以被修改;B选项,列表中各元素的类型可以不同;C选项,列表可以用下标访问。D选项,通过方括号`[]`可以创建列表正确。 20. B - 解析:`animal[1]`输出的是'dog',不是'cat'。 21. C - 解析:元组中的元素可以是不同类型。 22. B - 解析:`s.split(".")`以"."为分隔符将字符串分割成列表,结果为["www", "baidu", "com"]。 23. B - 解析:第一次循环时,变量 s = 1,i = 0,此时 i * i < 50,break语句会终止循环,此时s 为 1。 24. D - 解析:`remove(2)`删除第一个值为2的元素,`insert(2, 6)`在索引2处插入6,结果为[5, 4, 6, 3, 2]。 25. D - 解析:`text1[-1]`是'k',`'k' * 3`为'kkk'。 二、判断题答案及解析 26. √ - 解析:元组一旦创建就不能被修改。 27. × - 解析:元组是不可变的,不能调用`sort()`函数对其元素重新排列。 28. × - 解析:`[]`是空列表,`[(),[]]`不是空列表。 29. √ - 解析:代码在字典中添加了一个键值对并输出添加后的字典,描述正确。 30. × - 解析:`range(5)`生成0、1、2、3、4,运行结果是0、1、2、3、4。 31. × - 解析:程序段运行后输出的结果是每个字符单独一行,不是'Python'。 32. √ - 解析:`input()`语句输入的内容,一定是字符串类型的。 33. √ - 解析:变量i的值分别会取0、1、2、3、4,不会取到5。 34. × - 解析:字符串不能进行减法运算,会报错。 35. × - 解析:`if`和`elif`后面应写明条件以便判断`True`或`False`,但`else`后面不需要写条件。 三、编程题解析 36. 参考代码: a = int(input("请输入第一个正整数:")) # 获取用户输入的第一个正整数并转换为整数类型赋值给变量 a b = int(input("请输入第二个正整数:")) # 获取用户输入的第二个正整数并转换为整数类型赋值给变量 b # 穷举法求最小公倍数 lcm = max(a, b) # 先将最小公倍数初始化为 a 和 b 中的较大值 while True: # 进入无限循环 if lcm % a == 0 and lcm % b == 0: # 如果 lcm 同时是 a 和 b 的倍数 break # 跳出循环 lcm += 1 # 如果不是,则 lcm 自增 1,继续寻找最小公倍数 print(lcm) # 输出找到的最小公倍数 总结:这段 Python 代码的目的是通过穷举法求出两个正整数的最小公倍数。首先,将最小公倍数初始化为两个输入正整数中的较大值。然后,通过一个无限循环不断增加最小公倍数的值,直到找到一个数同时是两个输入正整数的倍数为止。最后,输出找到的最小公倍数。这种方法虽然简单直观,但对于较大的输入数可能效率较低。 37. 参考代码: d = {'Python编程挑战赛': 0, '开源鸿蒙主题赛': 0, '智慧物流挑战赛': 0}# 创建一个字典 d,初始时三个赛项的人数都为 0 while True: # 进入无限循环 num = input('请输入赛项编号:') # 获取用户输入的赛项编号 if num == '1':# 如果输入为 1 d['Python编程挑战赛'] += 1 # 对应的赛项人数加 1 elif num == '2':# 如果输入为 2 d['开源鸿蒙主题赛'] += 1 # 对应的赛项人数加 1 elif num == '3':# 如果输入为 3 d['智慧物流挑战赛'] += 1 # 对应的赛项人数加 1 elif num == '0':# 如果输入为 0 break# 跳出循环 else: # 如果输入既不是 1、2、3 也不是 0 print('没有此编号请重新输入') # 输出提示信息 continue # 继续下一次循环 print('统计结果如下:') # 输出提示信息 for i in d: # 遍历字典 d 的键 print(i + ':' + str(d[i]) + '人') # 输出每个赛项的名称和对应的人数 总结:这段 Python 代码实现了一个简单的赛项人数统计程序。通过一个无限循环不断接收用户输入的赛项编号,根据编号增加相应赛项的人数。如果输入为 0,则跳出循环。最后,遍历字典输出每个赛项的名称和对应的人数统计结果。​ 学科网(北京)股份有限公司 $$

资源预览图

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