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

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

内容正文:

青少年软件编程(Python)等级考试试卷(二级) 202306真题与解析 分数:100  题数:37 测试时长:60分钟 一、单选题(共25题, 共50分) 1. 列表 fruit = ['西瓜', '菠萝', '哈密瓜', '葡萄'],以下哪个选项,可以获取列表最后一个元素?( ) (2分) A fruit[len(fruit)] B fruit[len(fruit) - 1] C fruit[len(fruit) + 1] D fruit[0] 2. 初唐四杰是指唐朝初期的四位文学家,分别是王勃、杨炯、卢照邻和骆宾王。 目前列表 names 如下:   names = ['王勃', '杨炯', '白居易', '卢照邻', '骆宾王']  列表中多了一位不是初唐四杰的文学家, 以下哪个选项可以删除列表中的这位诗人?( ) (2分) A names.pop() B names.pop(1) C names.pop(2) D names.pop(3) 3. 小明在语文课学习了一个新成语:'从善如流';形容能迅速而顺畅地接受别人的正确意见,执行以下语句,终端区会打印什么内容?( )(2分) idiom = '从善如流'for i in idiom: print(i) A 从善如流 B 从 善 如 流 C 从善如流 从善如流 从善如流 从善如流 D i i i i 4. my_tuple = (1, 2, 3, 4, 5) print(my_tuple[::-2]) 以上代码的输出是?( ) (2分) A (1, 3, 5) B (1, 2, 3, 4, 5) C (5, 3, 1) D (5, 4, 3, 2, 1) 5. 执行如下代码,输出结果是?( ) tuple = ('q', 'i', 'n', 'g', 'd', 'a', 'o', '1024') print(max(tuple) + min(tuple)) A 1024 q B 1024q C q 1024 D q1024 6. for var in : print(var) 哪个选项不符合上述程序空白处的语法要求?( ) (2分) A range(0,10) B (1, 2, 3) C a>5 D "Wulaoshi" 7. 执行以下代码后,列表ls的元素个数多少个?( ) ls=[1,2,3,['a',"b"]] ls.append(5) ls[3].append(6) A 6 B 5 C 4 D 7 8. 已知xs=(5,'女','北京大学'),该如何定义字符串geshi,才能在执行print(geshi%xs)后得到如下的运行结果?( ) 学号:000005 性别:女 学校名称: 北京大学 A geshi='学号:%6d\t性别:%s\t学校名称: %s' B geshi='学号:%06s\t性别:%s\t学校名称: %s' C geshi='学号:%06d\t性别:%s\t学校名称: %s' D geshi='学号:%6d\t性别:%d\t学校名称: %d' 9. 小圆同学想要创建空列表P,他可以通过以下哪条语句实现?( ) A P={} B P=() C P=[] D P="" 10. ls1=[5,2,0,1,4,11,66,38],以下哪种函数或方法可实现列表ls1元素从大到小的排序?( ) A ls1.sort() B ls1.sort(reverse=True) C sorted(ls1) D ls1.reverse() 11. 中国电子学会等级考试的官方网址是https://www.qceit.org.cn,用户可以通过注册账号和密码登入网站。不同用户的账号是不同的,但同一用户的账号和密码是一一对应的,最好采用以下哪种数据结构存储账号和密码的对应关系?( ) A 元组 B 字典 C 列表 D 字符串 12.month={1:'Jan',2:'Feb',3:'Mar',4:'Apr',5:'May',6:'Jun',7:'Jul',8:'Aug',9:'Sep',10:'Oct',11:'Nov',12:'Dec'},month[2]的值是?( ) A 'Mar' B 3:'Mar' C 2:'Fed' D 'Feb' 13. 以下程序段运行后打印的结果是?( ) tp=('牢记历史', '不忘过去', '珍爱和平', '开创未来') tq='山河已无恙','吾辈当自强' new=tp+tqprint(new)print(len(new)) A ('牢记历史', '不忘过去', '珍爱和平', '开创未来','山河已无恙','吾辈当自强') 6 B ('牢记历史', '不忘过去', '珍爱和平', '开创未来','山河已无恙','吾辈当自强') 5 C ('牢记历史', '不忘过去', '珍爱和平', '开创未来','山河已无恙','吾辈当自强') 7 D 程序运行时错误 14. 下列哪个程序不会陷入死循环?( ) A false=‘false’ while false: print(该程序已经进入死循环!’) B while 0: print(该程序已经进入死循环!’) C while 1<2: print(该程序已经进入死循环!’) D while 1: print(该程序已经进入死循环!’) 15. 以下程序段执行后绘制出的图形是?( ) A B C D 16. 执行语句print(list(range(1,5)))的输出结果是?( ) A [1, 2, 3, 4] B [1, 2, 3, 4, 5] C 1, 2, 3, 4 D 1, 2, 3, 4, 5 17. 以下各个选项中的Python语句执行的循环次数与其他不同的是?( )A for i in range(10): print(i) B fori in range(10,0,-1): print(i) C i=0 while (i<=10): print(i) i=i+1 D i=10 while (i>0): print(i) i=i-1 18. 运行下列程序,输出的结果是?( ) s = '抽刀断水水更流。'print(s.replace('水', '#')) A 抽刀断水水更流。 B 抽刀断更流 C 抽刀断##更流。 D 抽刀断#水更流。 19. 运行以下程序,输出结果为?( ) s = 0 l = [1, 2, 3, 4, 5]for i in l: if i == 2: continue if i == 4: break s = s + iprint(s) A 15 B 13 C 4 D 10 20. 要想把字符串 s = 'abc' 转换成列表类型,以下选项中哪个命令是正确的?( ) A str(s) B int(s) C float(s) D list(s) 21. 下列选项中,关于sort()和sorted()函数说法错误的是? A sort()函数是在原内存地址上进行排序,会改变原列表的值 B sorted()函数是在原内存地址上进行排序,会改变原列表的值 C sorted()函数会生成一个新的已排序列表,不会改变原列表的值 D sort()函数默认是按照从小到大的顺序进行排序 22. 小明将自己的考试成绩保存到字典(dictionary)中,如下所示: dict1 = {'语文':90,'数学':95,'英语':98} 经过核对发现数学少加了2分,现在想修改字典中的数学成绩为97, 下列哪个程序可以实现此功能?( ) A dict1[1] = 97 B dict1[1][‘数学’] = 97 C else D dict1['数学'] = 97 23. 定义字典 dict1 = {'姓名':'王小明', '性别':'男','身高':'150cm', '体重':'40kg'} 保存了小明的个人信息, 输入如下程序并执行后, dict1['爱好'] = '篮球' dict1['体重'] = '42kg' del dict1['性别'] 请问字典dict1中的内容为?( ) A {'姓名':'王小明', '性别':'男','身高':'150cm', '体重':'40kg'} B {'姓名':'王小明', '性别':'男','身高':'150cm', '体重':'40kg', '爱好': '篮球'} C {'姓名':'王小明', '身高': '150cm', '体重': '40kg', '爱好': '篮球'} D {'姓名':'王小明', '身高': '150cm', '体重': '42kg', '爱好': '篮球'} 24. 小明用Python编写了一个狗狗与人类年龄的转化程序如下, 假设小明家狗狗现在4岁,请问相当于人类年龄几岁?( ) A 14 B 22 C 31 D 32 25. 如果有一个列表fruits = ['苹果', '香蕉', '樱桃'],小明想在'香蕉'和'樱桃'之间添加一个新的水果'桔子',他应该怎么做?( ) A fruits.append('桔子') B fruits.insert(1, '桔子') C fruits.insert(2, '桔子') D fruits.add('桔子') 二、判断题(共10题, 共20分) 26. 元组和列表都属于序列类型,它们的元素都有下标,元素和长度都是可变的。( ) 27. while()无限循环常常与if条件结构和break语句结合起来使用。( ) 28. 元组的元素不能被修改。( ) 29. 在Python中,for循环与while循环都可以用于遍历序列(如列表、元组、字符串等)中的元素。( ) 30. 已知score=93.2,那么代码 print("本次数学期末考试,本班平均分为%d" % (score)) 的写法是正确的。( ) 31. 字典的主要操作是依据键来存储和读取值。( ) 32. while循环不断地运行,直到指定的条件满足为止。( ) 33. 使用min()函数可以找到字符串中最大的字符。( ) 34. 列表(list)是一个存储空间,可以存储一个元素,也可以存储多个元素。( ) 35. 要检查两个人的年龄都不小于21岁,可以使用下面的条件语句。( ) age_0 = 22 age_1 = 18 if age_0 >= 21 and age_1 >= 21: print('两个人年龄都不小于21岁!') 3、 编程题(共2题, 共30分) 36. 成绩分级(15分) 期末数学考试满分为100分,需要将同学们的得分转换为A、B、C、D等级的形式进行期末素质考核评估,大于等于90分为A,大于等于80分小于90分为B,大于等于60分小于80分为C,小于60分为D,现在请编写一段程序,当输入成绩时(成绩为整数),程序能给出相应的等级,并且可循环输入成绩,直至输入字符“E”时结束程序。 37 飞花令(15分) “飞花令”是中国人在饮酒时的一种助兴游戏,飞花令名字起源于诗词之中,因唐代诗人韩翃的《寒食》“春城无处不飞花”而得名。飞花令的规则是,参与者轮流说出含有特定字的诗句,这些字通常都是事先约定的,称为“雅令”,如“花”、“春”等。请用Python程序来实现飞花令。 功能实现: (1)程序开始运行时,提示用户输入本局雅令,即约定好的关键字; (2)输入完雅令后,回车后进入后面的输入诗句环节, (3)提示用户输入含有雅令的诗句,诗句长度为5个字或者7个字; (4)多个句子答案用" 、"分隔,并且将每一句转换成列表中的元素; (5)回车代表结束诗句输入; (6)统计雅令出现的次数,雅令出现一次计一分; (7)格式化输出最后得分。 输入输出样例: 参考答案及解析: 一、单选题答案及解析 1. B - 解析:列表索引从0开始,`len(fruit)`表示列表长度,`fruit[len(fruit)-1]`可以获取列表最后一个元素。A选项会超出列表索引范围;C选项也超出列表索引范围;D选项是获取列表第一个元素。 2. C - 解析:列表`names`中“白居易”在索引2处,所以删除他应该使用`names.pop(2)`,C选项正确。 3. B - 解析:循环遍历字符串,每次输出一个字符,所以会输出“从善如流”每个字符分别占一行。 4. C - 解析:元组切片`[::-2]`表示从后向前,步长为2,结果为(5, 3, 1)。 5. D - 解析:元组中的字符可以比较大小,`max(tuple)`为'q',`min(tuple)`为'1024',输出结果为'q1024 '。 6. C - 解析:`for`循环可以遍历可迭代对象,A选项`range(0,10)`是可迭代的整数序列;B选项元组是可迭代对象;D选项字符串是可迭代对象;C选项`a>5`不是可迭代对象。 7. B - 解析:列表`ls`原本有4个元素,`append(5)`后增加一个元素,`ls[3].append(6)`在列表中的子列表中增加一个元素,所以总共有5个元素。 8. C - 解析:格式化字符串中`%06d`表示输出6位整数,不足6位前面补0;`%s`表示输出字符串。所以`geshi='学号:%06d\t性别:%s\t学校名称: %s'`可以在执行`print(geshi%xs)`后得到正确结果。 9. C - 解析:创建空列表用`[]`,A选项`{}`创建字典;B选项`()`创建元组;D选项`""`创建空字符串。 10. B - 解析:`ls1.sort(reverse=True)`可以实现列表`ls1`元素从大到小的排序;A选项`ls1.sort()`是从小到大排序;C选项`sorted(ls1)`返回一个新的已排序列表,不改变原列表;D选项`ls1.reverse()`只是反转列表,不是从大到小排序。 11. B - 解析:字典可以存储键值对,适合存储账号和密码的对应关系。元组不可变且不适合存储这种对应关系;列表和字符串也不适合。 12. D - 解析:字典通过键访问值,`month[2]`的值是'Feb'。 13. A - 解析:元组拼接后得到新的元组,长度为6,输出结果为('牢记历史', '不忘过去', '珍爱和平', '开创未来','山河已无恙','吾辈当自强'),长度为6。 14. B - 解析:答案是B。 分析如下: A选项,这里`false`被赋值为字符串`'false'`,在 Python 中,非空字符串被视为真值,所以这个循环会陷入死循环。 C选项,`1<2`为真,循环会一直执行,陷入死循环。 D选项,`while 1`中,1被视为真值,循环会一直执行,陷入死循环。 B选项,`while 0`,0被视为假值,循环条件不成立,不会进入循环体,不会陷入死循环。 15. B - 解析:段代码会生成三个等边三角形组成的图案,且三个三角形的颜色分别为橙色、绿色和粉色。 16. A - 解析:`range(1,5)`生成1、2、3、4,`list(range(1,5))`转换为列表为[1, 2, 3, 4]。 17. C - 解析:分析如下: A选项`for i in range(10)`会从0到9循环10次。 B选项`for i in range(10, 0, -1)`是从10到1进行循环,循环10次。 C选项`i = 0; while (i <= 10)`,从0到10循环11次。 D选项`i = 10; while (i > 0)`,从10到1循环10次。 所以C选项的循环次数与其他不同。 18. C - 解析:`s.replace('水', '#')`将字符串中的“水”替换为“#”,结果为“抽刀断##更流。”。 19. C - 解析:循环中遇到2时`continue`跳过本次循环,遇到4时`break`跳出循环,所以`s = s + i`执行了1+3,结果为4。 20. D - 解析:`list(s)`可以将字符串`s`转换成列表类型;A选项`str(s)`将对象转换为字符串;B选项`int(s)`将字符串转换为整数(如果字符串内容可以转换为整数);C选项`float(s)`将字符串转换为浮点数(如果字符串内容可以转换为浮点数)。 21. B - 解析:`sort()`函数是在原内存地址上进行排序,会改变原列表的值;`sorted()`函数会生成一个新的已排序列表,不会改变原列表的值。 22. D - 解析:修改字典中的值使用`字典名[键]=新值`,所以`dict1['数学'] = 97`可以实现此功能。 23. D - 解析:执行`dict1['爱好'] = '篮球'`添加键值对,`dict1['体重'] = '42kg'`修改体重,`del dict1['性别']`删除性别键值对,结果为{'姓名':'王小明', '身高': '150cm', '体重': '42kg', '爱好': '篮球'}。 24.D - 解析:如果小明家狗狗现在 4 岁,执行的是 age > 2 的分支。人类年龄 human = 22 + (4 - 2) * 5 = 22 + 2 * 5 = 22 + 10 = 32。所以相当于人类年龄 32 岁。 25. C - 解析:`fruits.insert(2, '桔子')`可以在列表索引2处(即“香蕉”和“樱桃”之间)添加新元素“桔子”;A选项`fruits.append('桔子')`在列表末尾添加;B选项`fruits.insert(1, '桔子')`在“苹果”和“香蕉”之间添加;D选项列表没有`add`方法。 二、判断题答案及解析 26. × - 解析:元组的元素和长度是不可变的,列表的元素和长度是可变的。 27. √ - 解析:`while()`无限循环常常与`if`条件结构和`break`语句结合起来使用,以便在满足特定条件时跳出循环。 28. √ - 解析:元组是不可变的,元组的元素不能被修改。 29. √ - 解析:在 Python 中,`for`循环与`while`循环都可以用于遍历序列(如列表、元组、字符串等)中的元素。 30. × - 解析:`score=93.2`是浮点数,`%d`是格式化输出整数,应该使用`%f`或`%.2f`等格式化输出浮点数。 31. √ - 解析:字典的主要操作是依据键来存储和读取值。 32. × - 解析:`while`循环满足循环条件时不断地运行,直到指定的条件不满足为止。 33. × - 解析:使用`max()`函数可以找到字符串中最大的字符,但不能用`min()`函数找到最大字符,且通常是根据字符的 ASCII 值进行比较。 34. √ - 解析:列表(list)是一个存储空间,可以存储一个元素,也可以存储多个元素。 35. × - 解析:`age_1 = 18`不满足条件,所以不能输出“两个人年龄都不小于21岁!”。 三、编程题解析 36. 参考代码: while True: # 进入一个无限循环,持续接收用户输入 score = input("请输入成绩(输入'E'结束程序):") # 获取用户输入的成绩或结束指令 if score == 'E': # 如果用户输入'E',表示要结束程序 break else: # 如果不是'E',则尝试将输入转换为整数类型的成绩 score = int(score) if score >= 90: # 如果成绩大于等于 90 分,输出等级'A' print("A") elif score >= 80: # 如果成绩大于等于 80 分且小于 90 分,输出等级'B' print("B") elif score >= 60: # 如果成绩大于等于 60 分且小于 80 分,输出等级'C' print("C") else: # 如果成绩小于 60 分,输出等级'D' print("D") 总结:这段 Python 代码实现了一个成绩等级转换程序。程序通过一个无限循环不断接收用户输入的成绩,当用户输入'E'时,程序结束。对于输入的成绩,程序根据不同的分数范围将其转换为对应的等级(A、B、C、D)并输出。 37. 参考代码: keyword = input("请输入本局雅令:") # 获取用户输入的本局关键字(雅令) print("现在请输入含有雅令的诗句,诗句长度为 5 个字或者 7 个字,多个句子答案用' 、'分隔,回车代表结束诗句输入。") # 给出输入诗句的提示信息 poems = input().split(" 、") # 获取用户输入的诗句,以" 、"进行分割,存储在列表 poems 中 score = 0 # 初始化得分变量为 0 for poem in poems: count = poem.count(keyword) # 统计当前诗句中雅令出现的次数 score += count # 将当前诗句中的雅令次数累加到总得分中 print(f"最后得分为:{score}分。") # 格式化输出最后得分 总结:这段 Python 代码实现了一个简单的飞花令程序。首先让用户输入本局的雅令关键字,然后提示用户输入含有该雅令的诗句,用户可以输入多个诗句并用" 、"分隔。程序将用户输入的诗句分割成列表,然后遍历这个列表,统计每个诗句中雅令出现的次数,并将这些次数累加起来得到总得分,最后格式化输出得分结果。 学科网(北京)股份有限公司 $$

资源预览图

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