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

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

内容正文:

青少年软件编程(Python)等级考试试卷(二级) 202306真题与解析 分数:100  题数:37 测试时长:60分钟 一、单选题(共25题,每题2分,共50分) 1、运行以下程序,如果通过键盘先后输入的数是1和3,输出的结果是?( ) a = int(input()) b = int(input()) if a < b: a = b print(a) A. 3 1 B. 1 3 C. 1 D. 3 2、运行以下程序,输出的结果是?( ) n = 10 s = 0 m = 1 while m <= n: s = s + m m = m + 1 print(s) A. 45 B. 50 C. 55 D. 60 3、以下代码的输出结果是?( ) vlist = list(range(5)) for e in vlist: print(e, end=",") A. 0,1,2,3,4, B. B. [0, 1, 2, 3, 4] C. 0 1 2 3 4 D. 0;1;2;3;4; 4、以下程序的输出结果是?( ) n = 0 while n < 10: n = n + 2 if n == 6: continue print(n) A. 5 B. 10 C. 6 D. 8 5、运行以下程序,输出的结果是?( ) numbers = [1, 2, 3, 4] numbers.append([5, 6, 7, 8]) print(len(numbers)) A. 4 B. 5 C. 8 D. 12 6、以下代码的输出结果是?( ) s = [4, 2, 9, 1] s.insert(3, 3) print(s) A. [4, 2, 9, 1, 2, 3] B. [4, 3, 2, 9, 1] C. [4, 2, 9, 2, 1] D. [4, 2, 9, 3, 1] 7、关于下列程序,说法正确的是?( ) num = 0 while num < 10: print("=") A. 在while代码块中无论加什么都不能改变死循环 B. 在while代码块中加一行代码 num -= 1 可以改变死循环 C. 这个while循环是一个死循环,会一直打印"=" D. 运行结果打印输出10个"="语句 8、运行以下程序,输出的结果是?( ) list5 = ['1', '2', '4', '6', '9'] print(list5[2]) A. 1 B. 2 C. 3 D. 4 9、下列说法正确的是?( ) A. 元组的元素值可以随意修改 B. 可以用del语句删除元组中的某个元素 C. tup1 = (5) 是一个合法的元组 D. tup1 = ('turtle', 'fish', 65536)是一个合法的元组 10、在Python语言中,表达式[1, 2] * 2的值是?( ) A. [2, 4] B. 6 C. [1, 2, 1, 2] D. [1, 2, 2] 11、在Pyhton语言中,表达式[2] in [1, 2, 3, 4, 5]的值是?( ) A. 0 B. 1 C. True D. False 12、d = {"王明": 178, "张华": 158, "于飞": 189, "刘英": 164},则d["于飞"]的值是?( ) A. -2 B. 2 C. '于飞' D. 189 13、下列说法正确的是?( ) A. 字典只能存储字符串,不能存储其他类型的对象 B. dict11 = {:}可以创建一个空字典 C. {123: 456}是一个合法的字典 D. 字典的值必须是唯一的,键不必是唯一的 14、运行以下程序,共计输出了几个hello?( ) for i in range(3): print("hello") A. 1 B. 2 C. 3 D. 4 15、下列程序的运行结果是?( ) lis1 = ["cat", "tomato", "dog", "apple", "dog", "dog"] print(lis1.index("dog")) A. 0 B. 1 C. 2 D. 3 16、运行以下程序,当从键盘输入1,程序运行结果是?( ) str1 = '一二三四五六日' strid = int(input('请输入1-7的数字:')) print('星期' + str1[strid - 1]) A. 星期一 B. 星期+一 C. 星期二 D. 星期+二 17、下列程序的运行结果是?( ) zd1 = {'name': 'Tom', 'color': 'blue'} zd1['name'] = 'Mike' print(zd1) A. {'name': 'Mike', 'color': 'blue'} B. {'name': 'Mike', 'color': 'blue', name': 'Tom'} C. {'name': 'Tom', 'color': 'blue'} D. {'name': Tom','name': 'Mike', 'color': 'blue', } 18、若a = (1, 2, 3),执行下列哪个命令是会报错?( ) A. a[1] B. list(a) C. a[1] = 4 D. a * 5 19、以下代码的运行结果是?( ) s = 'happy birthday' print(s[13:-15:-2]) A. 运行会报错 B. ydti pa C. ydtipa D. yadhtrib yppa 20、下列程序执行的结果是?( ) yz = (1, 5, 7, 3, 9) list1 = sorted(yz) print(list1) A. 报错 B. 1, 3, 5, 7, 9 C. (1, 3, 5, 7, 9) D. [1, 3, 5, 7, 9] 21、以下哪个函数可以对字符串中的内容进行替换(注意:不是格式化输出)?( ) A. replace( ) B. format( ) C. split( ) D. join( ) 22、运行以下程序,输出的结果是?( ) list3 = ['11', '4', 5, 1, 4] print(len(list3)) A. 1 B. 4 C. 5 D. 8 23、下列说法错误的是?( ) A. 字典一旦创建就不能被修改 B. a = {}是一个空字典 C. {123: '123'}是一个合法的字典 D. 在同一个字典中,字典的键具有唯一性 24、列表ls = ['H', 'a', 'p', 'p', 'y', '!'],下列说法错误的是?( ) A. ls[:6]的值是['H', 'a', 'p', 'p', 'y', '!'] B. ls[:-6]的值是[] C. ls[6]的值是'!' D. ls[2:-2]的值是['p', 'p'] 25、使用tuple函数创建元组错误的是?( ) A. tuple(20, 30) B. tuple('你好') C. tuple([2, 0, 1, 3]) D. tuple('12345') 二、判断题(共10题,每题2分,共20分) 26、append()方法可以在列表末尾添加一个元素。( ) 27、下列程序写法是正确的。( ) score = 50 if score >= 60: print("合格") else: print("不合格") 28、判断下列语句是否正确。( ) >>> book = {'格林童话': 1001, '安徒生童话': 1002} 29、判断下列语句是否正确。( ) if 5 > 3 print("5大于3") 30、在while循环中,如果想返回到循环的开头处,可以使用break语句。( ) 31、执行以下程序,运行结果是: 3 3 3 for i in range(1, 5, 2): print(3) 32、执行print("e" in "hello")的输出结果为True。( )。 33、(3) in (1, 2, 3) 的结果是 True。( ) 34、代码print('{}-{}*{}={}'.format(20, 3, 4, 8))打印的结果是20-3*4=8。( ) 35、元组是不可变序列,列表是可变序列。( ) 三、编程题(共2题,共30分) 36、体重比较器 要求:请编程实现如下功能: (1)程序开始运行时,提醒用户输入三个人的名字和体重(可以分开输入,每次输入名字或者体重); (2)程序自动比较,找出最重的一个人的名字和体重; (3)输出的格式不限,但是要有最重人的姓名和体重信息。 37、统计语句中指定字符的个数 要求: (1)统计的语句为:Were you born on August 21, 1994 (2)要求使用条件语句,统计该句中所有英文字母、数字的个数的和(不包括空格、逗号等标点符号); (3)输出一个整数,表示所有英文字母和数字的个数的和。 参考答案及解析: 一、单选题答案及解析 1. D - 解析:先输入1赋值给`a`,再输入3赋值给`b`,由于`a < b`,将`b`的值赋给`a`,最后输出`a`的值为3。 2. C - 解析:这是一个计算1到10的整数和的循环,结果为55。 3. A - 解析:遍历列表并输出每个元素,元素之间用逗号分隔且最后有逗号。 4. B - 解析:循环中每次`n`加2,当`n`等于6时使用`continue`跳过,继续下一次循环,最终`n`变为10输出。 5. B - 解析:列表`numbers`原本有4个元素,`append([5, 6, 7, 8])`添加一个列表作为新元素,长度变为5。 6. D - 解析:`insert(3, 3)`在索引3处插入元素3,结果为`[4, 2, 9, 3, 1]`。 7. C - 解析:由于`num`始终小于10,循环条件一直为真,会一直打印“=”,是死循环。 8. D - 解析:列表索引从0开始,`list5[2]`取第三个元素为“4”。 9. D - 解析:元组是不可变的,不能随意修改元素值,也不能用`del`语句删除某个元素,`tup1 = (5)`创建的是整数5不是元组,`tup1 = ('turtle', 'fish', 65536)`是合法的元组。 10. C - 解析:列表乘以整数是重复列表,`[1, 2] * 2`结果为`[1, 2, 1, 2]`。 11. D - 解析:`[2]`是一个列表,不在`[1, 2, 3, 4, 5]`中,值为`False`。 12. D - 解析:字典通过键访问值,`d["于飞"]`的值是189。 13. C - 解析:字典可以存储不同类型的对象,`dict11 = {:}`语法错误,字典的键必须是唯一的,值可以不唯一。`{123: 456}`是一个合法的字典。 14. C - 解析:`range(3)`生成0、1、2,循环三次输出三个“hello”。 15. C - 解析:`index("dog")`返回“dog”在列表中第一次出现的索引,为2。 16. A - 解析:输入1,`strid = 1`,`str1[strid - 1]`即`str1[0]`为“一”,输出“星期一”。 17. A - 解析:修改字典中键为“name”的值为“Mike”,结果为`{'name': 'Mike', 'color': 'blue'}`。 18. C - 解析:元组是不可变的,不能通过索引赋值修改元素。A选项可以访问元组元素;B选项可以将元组转换为列表;D选项可以重复元组。 19. B - 解析:字符串切片`s[13:-15:-2]`从索引13开始到索引-15(不包括),步长为-2,结果为“ydti pa”。 20. D - 解析:`sorted(yz)`对元组进行排序并返回一个新的列表,结果为`[1, 3, 5, 7, 9]`。 21. A - 解析:`replace()`函数可以对字符串中的内容进行替换;`format()`用于格式化输出;`split()`用于分割字符串;`join()`用于连接字符串。 22. C - 解析:列表`list3`中有5个元素,`len(list3)`结果为5。 23. A - 解析:字典可以被修改,例如添加、删除键值对或修改值。B选项创建空字典正确;C选项是合法字典;D选项字典的键具有唯一性正确。 24. C - 解析:ls列表下标最大值是5,ls[6]将引用ls列表下标为6的元素,将会抛异常(列表索引超出范围)。 25. A - 解析:`tuple`函数接收一个可迭代对象作为参数,`tuple(20, 30)`语法错误;B、C、D选项分别将字符串、列表、字符串转换为元组是正确的。 二、判断题答案及解析 26. √ - 解析:`append()`方法可以在列表末尾添加一个元素。 27. × - 解析:第一行和最后一行的缩进错误。 28. √ - 解析:这样创建字典是正确的。 29. × - 解析:`if`语句条件后要有冒号,语句块要有缩进。 30. × - 解析:在`while`循环中,如果想返回到循环的开头处,可以使用`continue`语句,`break`语句是跳出循环。 31. × - 解析:`range(1, 5, 2)`生成1、3,循环两次输出两个3。 32. √ - 解析:判断字符“e”是否在字符串“hello”中,结果为`True`。 33. √ - 解析:(3)中没有逗号,不表示元组,表示整数类型的3。 34. √ - 解析:字符串格式化输出正确,结果为20 - 3 * 4 = 8。 35. √ - 解析:元组是不可变序列,列表是可变序列。 三、编程题解析 36. 参考代码: name = [] # 创建一个空列表 name,用于存储姓名 weight = [] # 创建一个空列表 weight,用于存储体重 for i in range(3): # 循环三次,用于输入三个人的信息 a = input('请输入姓名:') # 获取用户输入的姓名 b = int(input('请输入体重:')) # 获取用户输入的体重,并转换为整数类型 name.append(a) # 将姓名添加到 name 列表中 weight.append(b) # 将体重添加到 weight 列表中 c = max(weight) # 找出 weight 列表中的最大值,即最重的体重 d = weight.index(c) # 在 weight 列表中找到最重体重的索引 print("体重最重的人是:", name[d]) # 输出最重的人的姓名,通过索引 d 在 name 列表中找到对应的姓名 print("他的体重是:", c) # 输出最重的人的体重 总结:这段 Python 代码实现了输入三个人的姓名和体重,然后找出体重最重的人,并输出其姓名和体重。通过循环接收三个人的信息,分别存储在两个列表中。接着,使用`max`函数找到最重的体重,再通过`index`方法找到该体重在列表中的索引,从而确定最重的人的姓名。最后,输出最重的人的姓名和体重信息。 37. 参考代码: str = 'Were you born on August 21, 1994' # 定义一个字符串变量 str,初始值为给定的英文句子 n = 0# 初始化一个计数器 n 为 0 for i in str: # 遍历字符串 str 中的每个字符 i if i == ' ' or i == ',': # 如果字符是空格或者逗号 continue # 跳过本次循环,不执行下面的代码 else: # 如果字符不是空格也不是逗号 n += 1 # 计数器 n 加一 print(n) # 输出计数器 n 的值,即去除空格和逗号后的字符总数 总结:这段 Python 代码的目的是统计给定字符串中除空格和逗号之外的字符总数。它通过遍历字符串中的每个字符,判断是否为空格或逗号,如果不是则计数器加一。最后输出统计结果,即字符串中所有非空格和非逗号字符的数量。 学科网(北京)股份有限公司 $$

资源预览图

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