2023.09全国青年软件编程(Python)等级考试试卷(五级)

标签:
普通文字版答案
2024-07-03
| 19页
| 61人阅读
| 0人下载

内容正文:

青少年软件编程(Python)等级考试试卷(五级) 分数:100 题数:38 一、单选题(共25题,共50分) 1. 阅读以下代码,程序输出结果正确的选项是?( ) def process_keywords(keywords_list): unique_keywords = list(set(keywords_list)) sorted_keywords = sorted(unique_keywords) result = tuple(sorted_keywords) return result keywords = ["节约能源", "循环利用", "清洁能源", "减少污染", "植树造林","清洁能源"] print(process_keywords(keywords)) A. ('节约能约', '循环利用', '减少污染', '清洁能源', '减少污染') B. ('循环利用', '植树造林', '减少污染', '清洁能源', '清洁能源') C. ('减少污染', '循环利用', '植树造林', '清洁能源', '节约能源') D. ('植树造林', '循环利用', '节约能源', '清洁能源', '节约能源') 试题编号:202306-zpf-024 试题类型:单选题 标准答案:C 试题难度:一般 试题解析:将关键词列表转换为集合(set),去除重复的关键词,对去重后的关键词集合进行排序,将排序后的关键词列表转换为元组,输出。 考生答案:C 考生得分:2 是否评分:已评分 评价描述: 2. 给定一个集合 s = {1, 2, 3, 4, 5},以下哪个选项可以实现从s 中移除所有偶数元素的功能?( ) A. {x for x in s if x % 2 == 0} B. s.filter(lambda x: x % 2 == 0) C. {x % 2 != 0 for x in s} D. set(filter(lambda x: x % 2 != 0, s)) 试题编号:202306-zpf-025 试题类型:单选题 标准答案:D 试题难度:一般 试题解析:使用 filter() 函数可以过滤掉集合中的偶数,再用 set() 函数将过滤后的结果重新转换为集合类型。 考生答案:B 考生得分:0 是否评分:已评分 评价描述: 3. 下列代码的运行结果是?( ) tup = (1, 2, 3, 4, 5) tup[2] = 10 print(tup) A. (1, 2, 3, 4, 5) B. (1, 2, 10, 4, 5) C. (1, 10, 3, 4, 5) D. 抛出TypeError的异常 试题编号:20230620-lly-005 试题类型:单选题 标准答案:D 试题难度:较难 试题解析:本题属于较难题,如果tup是列表,在列表中可以通过tup[2] = 10改变列表元素的值。但是本题中, tup = (1, 2, 3, 4, 5) 的作用是定义一个元组, 元组不能通过直接赋值来改变元组元素的值 ,语句tup[2] = 10错误。 考生答案:D 考生得分:2 是否评分:已评分 评价描述: 4. tuple1 = ('aa', 'bb', 'cc', '22'),则tuple1.index('22')的值是?( ) A. 1 B. 2 C. 3 D. 4 试题编号:20230620-lly-006 试题类型:单选题 标准答案:C 试题难度:容易 试题解析:元组与列表和字符串一样,索引下标从0开始 ,最后一个元素“22“的索引下标是3。 考生答案:C 考生得分:2 是否评分:已评分 评价描述: 5. Time模块中,time.time()所得的结果的数据类型是?( ) A. 整形 B. 实型 C. 字符串类型 D. 列表类型 试题编号:20230620-lly-022 试题类型:单选题 标准答案:B 试题难度:容易 试题解析:time.time() 是 Python 中的一个内置函数,用于获取当前时间的时间戳(从 1970 年 1 月 1 日 00:00:00 到当前时间的秒数)。时间戳是一个浮点数,例如 1605012765.39698,时间戳就是一串数字,表示从某个固定时间点开始到现在的时间长度,通常以秒为单位计算。 考生答案:C 考生得分:0 是否评分:已评分 评价描述: 6. Python中jieba的功能描述,正确的是?( ) A. 分词 B. 数据可视化 C. 计算 D. 画图 试题编号:20230620-lly-023 试题类型:单选题 标准答案:A 试题难度:容易 试题解析:jieba 是Python中一个重要的第三方中文分词函数库,可以把一句话拆分成多个词,也可以从一句话(一段话)中提取最重要的几个关键词 ,答案选A 考生答案:A 考生得分:2 是否评分:已评分 评价描述: 7. 小张编写一款石头剪子布游戏时,导入random库并将b赋值为["剪刀","石头","布"],不能实现随机产生b列表中一个元素的表达式是?( ) A. b[random.random()*3] B. random.sample(b,1) C. b[random.randint(0,2)] D. random.choice(b) 试题编号:20230620-lly-024 试题类型:单选题 标准答案:A 试题难度:较难 试题解析:此题属于较难题,考查随机函数的应用,难度在于通过生活中大家熟悉的一个实例,考查了多个随机函数,需要学生掌握这些随机函数的作用、功能,以及所产生序列的范围。选项B,random.sample(b,k) ,从序列b中随机选出k个元素,当k=1时,则随机选出1个元素,符合题目要求。选项C,random.randint(0,2),产生一个[0,2]之间的整数,包含0和2,也就是产生“0,1,2”之间的某个整数,符合题目要求。 选项D,random.choice(b)从序列b中选出一个元素,符合题目要求。选项A, random.random()*3产生的有可能是小数,而索引下标不能为小数,所以选项A错误。 考生答案:D 考生得分:0 是否评分:已评分 评价描述: 8. 若要计算圆的面积,下列表达式肯定错误的是?( ) A. s=math.pi*math.pow(r,2) B. s=math.pi*r**2 C. s=math.pi*r*r D. s=math.pi*r^2 试题编号:20230620-lly-025 试题类型:单选题 标准答案:D 试题难度:容易 试题解析:本题属于容易题,选项D中“^",Python乘方不能用"^",所以错误。 考生答案:A 考生得分:0 是否评分:已评分 评价描述: 9. 下列程序的功能是?( ) for i in range(100,1,-2): print(i) A. 顺序输出1-100以内的偶数 B. 顺序输出1-100以内的奇数 C. 倒序输出1-100以内的奇数 D. 倒序输出1-100以内的偶数 试题编号:20230620-qdc-011 试题类型:单选题 标准答案:D 试题难度:一般 试题解析:range的基本格式应用 考生答案:C 考生得分:0 是否评分:已评分 评价描述: 10. Python使用range可以创建数值列表。下面可以正确输出600以内6的倍数的语句是?( ) A. print(list(range(100, 600, 6))) B. print(list(range(0, 600, 10))) C. print(list(range(1, 601, 6))) D. print(list(range(6, 601, 6))) 试题编号:20230620-qdc-012 试题类型:单选题 标准答案:D 试题难度:一般 试题解析:range(start, stop[, step])的基本应用。 考生答案:D 考生得分:2 是否评分:已评分 评价描述: 11. 学校气象站记录了周一到周日的PM2.5的数据 pminfo=[82,57,91,67,103,79,99] 根据需求,输出周日、周六、周五三天PM2.5数据的程序代码是?( ) A. print(pminfo[7:5:-1]) B. print(pminfo[-1:3:-1]) C. print(pminfo[-1:5:7]) D. print(pminfo[5:7:-1]) 试题编号:20230620-qdc-013 试题类型:单选题 标准答案:B 试题难度:一般 试题解析:列表切片的高阶应用。 考生答案:D 考生得分:0 是否评分:已评分 评价描述: 12. 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。下面可以正确打印三位回文数的语句是?( ) A. print(i for i in range(100,999) if str(i) == str(i)[::-1]) B. print([i for i in range(1,1000) if str(i) == str(i)[::-1]]) C. print([i for i in range(1,999) if str(i) == str(i)[::-1]]) D. print([i for i in range(100,1000) if str(i) == str(i)[::-1]]) 试题编号:20230620-qdc-014 试题类型:单选题 标准答案:D 试题难度:一般 试题解析:range(start, stop)的高阶应用。 考生答案:D 考生得分:2 是否评分:已评分 评价描述: 13. 下列哪个选项是正确的关于Python列表的定义?( ) A. 列表是有序的、可变动的元素集合 B. 列表是有序的、不可变动的元素集合 C. 列表是无序的、可变动的元素集合 D. 列表是无序的、不可变动的元素集合 试题编号:20230624-ph-001 试题类型:单选题 标准答案:A 试题难度:容易 试题解析:Python列表是有序的,可以按照插入的顺序访问元素。同时,列表是可变动的,即可以通过添加、删除、修改元素来改变列表的内容。 考生答案:A 考生得分:2 是否评分:已评分 评价描述: 14. 假设有一个列表l= [1, 2, 3, 4, 5],下面哪个操作可以移除列表中的第一个元素?( ) A. l. pop(1) B. l.remove(1) C. del l[1] D. l.clear() 试题编号:20230624-ph-002 试题类型:单选题 标准答案:B 试题难度:一般 试题解析:A项弹出索引号为1的元素,B项移除值为1的元素,C项删除索引号为1的元素,D项清空所有元素。故B项正确。 考生答案:B 考生得分:2 是否评分:已评分 评价描述: 15. 下面哪个选项是用于获取列表中元素个数的方法?( ) A. length() B. size() C. count() D. len() 试题编号:20230624-ph-003 试题类型:单选题 标准答案:D 试题难度:一般 试题解析:len()函数用于获取列表中元素的个数。 考生答案:C 考生得分:0 是否评分:已评分 评价描述: 16. 下列哪个选项是正确的列表切片操作?( ) A. list[1:3] B. list[1,3] C. list[1-3] D. list[1+3] 试题编号:20230624-ph-004 试题类型:单选题 标准答案:A 试题难度:容易 试题解析:列表切片操作可以用来获取列表中的一部分元素。切片操作使用[start:end]的形式,其中start表示起始索引(包含),end表示结束索引(不包含)。所以list[1:3]表示获取索引1和2的元素。 考生答案:A 考生得分:2 是否评分:已评分 评价描述: 17. 以下哪个选项可以创建一个列表,包含数字 1 到 10 的平方?( ) A. [x*x for x in range(1, 11)] B. {x*x for x in range(1, 11)} C. (x*x for x in range(1, 11)) D. <x*x for x in range(1, 11)> 试题编号:20230624-ph-027 试题类型:单选题 标准答案:A 试题难度:一般 试题解析:列表推导式可以用于创建一个列表,并按照指定的表达式对迭代器进行转换。选项 A 使用列表推导式创建了一个包含 1 到 10 的平方的列表。 考生答案:A 考生得分:2 是否评分:已评分 评价描述: 18. 以下哪个选项可以创建一个集合,包含 1 到 10 的奇数?( ) A. {x for x in range(1, 11)} if x % 2 != 0 B. {x for x in range(1, 11) if x % 2 != 0} C. [x for x in range(1, 11) if x % 2 != 0] D. [x for x in range(1, 11)] if x % 2 != 0 试题编号:20230624-ph-028 试题类型:单选题 标准答案:B 试题难度:一般 试题解析:集合推导式可以用于创建一个集合,并按照指定的条件对迭代器进行筛选。选项 B 使用集合推导式创建了一个包含 1 到 10 的奇数的集合。 考生答案:B 考生得分:2 是否评分:已评分 评价描述: 19. 下面的集合推导式将会生成什么集合?( ) st = {x%2 for x in range(10)} A. {0, 1} B. {0, 2, 4, 6, 8} C. {1, 3, 5, 7, 9} D. {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 试题编号:20230624-ph-029 试题类型:单选题 标准答案:A 试题难度:一般 试题解析:该集合推导式将会生成 {0, 1} 这个集合,即将 0 到 9 的每个数对2取模并去重得到的集合。 考生答案:B 考生得分:0 是否评分:已评分 评价描述: 20. 下面代码的执行结果是?( ) knights = {'孙坚': '江东猛虎', '孙策': '小霸王'} for k, v in knights.items(): print("大将:{},绰号:{}".format(k, v)) A. 大将:孙坚,绰号:江东猛虎 大将:孙策,绰号:小霸王 B. 大将:孙坚,大将:孙策 C. 大将:孙坚,绰号:孙策 D. 绰号:江东猛虎,绰号:小霸王 试题编号:20230625-cj-020 试题类型:单选题 标准答案:A 试题难度:较难 试题解析: knights.items()获得字典中的键值对。 for k, v in knights.items()分别获得键和值。 print("大将:{},绰号:{}".format(k, v))格式化字符串分别填入键和值。 考生答案:A 考生得分:2 是否评分:已评分 评价描述: 21. 以下程序的输出结果是?( ) dict = {'Name': 'Angel', 'Age': 8} print(dict.items()) A. dict_items([('Age', 8), ('Name', 'Angel')]) B. [('Age', 8), ('Name', 'Angel')] C. ('Age', 8), ('Name', 'Angel') D. 'Age':8, 'Name': 'Angel' 试题编号:20230625-cj-021 试题类型:单选题 标准答案:A 试题难度:容易 试题解析:items()方法返回的结果是items对象。 字典是无序的,因此有可能顺序会改变。虽然实际运行的结果可能不是这样的。 考生答案:A 考生得分:2 是否评分:已评分 评价描述: 22. Python表达式("5"+"2")*2的运算结果是?( ) A. 14 B. "5252" C. "522" D. 语法错误,程序报错 试题编号:20230628-lcy-009 试题类型:单选题 标准答案:B 试题难度:一般 试题解析:B 本题考察+及*在字符串中的应用,+表示拼接,*表示重复。 考生答案:B 考生得分:2 是否评分:已评分 评价描述: 23. 字符串变量s中存有小李身份证号码(s="331004200608160037",其中7至14位"20060816"代表出生日期)。若想提取小李身份证中的出生日期,下列Python表达式有错误的是?( ) A. s[-12:-4] B. s[6:14] C. s[7:15] D. s[6:-4] 试题编号:20230628-lcy-010 试题类型:单选题 标准答案:C 试题难度:一般 试题解析:C 本题考察字符串的切片操作。 考生答案:C 考生得分:2 是否评分:已评分 评价描述: 24. 下列不可以正确输出语句"我叫 小明 今年 10 岁!"的Python语句的是?( ) A. print ("我叫{name}今年{age}岁!" .format (age=10,name='小明')) B. print ("我叫{}今年{}岁!" .format('小明', 10)) C. print ("我叫%s今年%s岁!" % (10,'小明')) D. print ("我叫%s今年%d岁!" % ('小明', 10)) 试题编号:20230628-lcy-011 试题类型:单选题 标准答案:C 试题难度:一般 试题解析:C 本题考察字符串的格式化输出。 考生答案:C 考生得分:2 是否评分:已评分 评价描述: 25. 运行代码print(r" Python")的结果是?( ) A. 直接输出:" Python" B. 直接输出: Python C. 直接输出:Python D. 先换行,然后在新的一行中输出:Python 试题编号:20230628-lcy-012 试题类型:单选题 标准答案:B 试题难度:一般 试题解析:B 本题考察字符串的格式化输出。 考生答案:A 考生得分:0 是否评分:已评分 评价描述: 二、判断题(共10题,共20分) 26. 集合类型中的元素必须是唯一的。( ) 正确 错误 试题编号:202306-zpf-026 试题类型:判断题 标准答案:正确 试题难度:容易 试题解析:集合中的元素必须是唯一的,如果添加了重复的元素,只会保留一个元素。可以使用集合类型来去除列表或元组中的重复元素。 考生答案:正确 考生得分:2 是否评分:已评分 评价描述: 27. 集合是有序的数据结构,可以根据元素的插入顺序进行遍历。( ) 正确 错误 试题编号:202306-zpf-027 试题类型:判断题 标准答案:错误 试题难度:一般 试题解析:集合是无序的,元素的遍历没有固定的顺序。 考生答案:错误 考生得分:2 是否评分:已评分 评价描述: 28. 元组是Python的不可变序列类型,意味着一旦你创建了一个元组,就不能进行插入、删除等操作。( ) 正确 错误 试题编号:20230620-lly-027 试题类型:判断题 标准答案:正确 试题难度:容易 试题解析:元组是Python的不可变序列类型,不能进行插入、删除元素等操作。 考生答案:正确 考生得分:2 是否评分:已评分 评价描述: 29. time库是Python中处理时间的标准库, time库中时间获取函数time()和ctime(),返回的都是字符串。( ) 正确 错误 试题编号:20230620-lly-035 试题类型:判断题 标准答案:错误 试题难度:容易 试题解析:Python中有三个函数可以获取当前系统的时间,分别是time()、ctime()、gmtime()。time()函数,返回的是一个浮点数,表示从1970年1月1日0点0分开始,到当前时间,一共经历了多少秒。ctime()返回易读的字符串形式。 考生答案:错误 考生得分:2 是否评分:已评分 评价描述: 30. 有如下Python程序段: s=0 for i in range(1,11): if i%5==3: continue s+=i 执行程序后,输出s的值是52。( ) 正确 错误 试题编号:20230620-qdc-034 试题类型:判断题 标准答案:错误 试题难度:一般 试题解析:本题变量s的值为序列1到10中对5取余不等于3的数之和,值为44。 考生答案:错误 考生得分:2 是否评分:已评分 评价描述: 31. Python中的列表是可变的数据类型。( ) 正确 错误 试题编号:20230624-ph-005 试题类型:判断题 标准答案:正确 试题难度:容易 试题解析:列表是可变的,即可以通过修改、添加、删除元素来改变列表的内容。与之相对的是不可变的数据类型,例如字符串。 考生答案:正确 考生得分:2 是否评分:已评分 评价描述: 32. [x for x in range(5)] 是一个列表推导式。( ) 正确 错误 试题编号:20230624-ph-030 试题类型:判断题 标准答案:正确 试题难度:一般 试题解析:[x for x in range(5)] 是一个列表推导式,它通过循环生成一个包含0到4的整数列表。 考生答案:正确 考生得分:2 是否评分:已评分 评价描述: 33. 可以通过update()方法将一个字典的内容添加到另一个字典中。( ) 正确 错误 试题编号:20230625-cj-022 试题类型:判断题 标准答案:正确 试题难度:容易 试题解析:update()方法的用法。 考生答案:正确 考生得分:2 是否评分:已评分 评价描述: 34. 有字符串s=“happy national day”,s.find('na')返回值为-1。( ) 正确 错误 试题编号:20230628-lcy-013 试题类型:判断题 标准答案:错误 试题难度:一般 试题解析:检测参数是否包含在字符串中,如果包含,返回开始的索引值,否则返回-1。字符串中包含“na”,因此返回6。 考生答案:错误 考生得分:2 是否评分:已评分 评价描述: 35. 小明想单独输出一个双引号,可以使用语句print("\"")进行输出。( ) 正确 错误 试题编号:20230628-lcy-014 试题类型:判断题 标准答案:正确 试题难度:一般 试题解析:正确 本题考察字符串的转义字符。 考生答案:正确 考生得分:2 是否评分:已评分 评价描述: 三、编程题(共3题,共30分) 36. 已知有一些学生数据,每名学生的信息是一个字典。所有学生信息放在列表中。 (1)计算每个学生的平均分(语文+数学+英语)/3,并对平均分取整,追加到其字典; (2)根据学生的平均分从低到高排列; (3)输出每位学生的学号和平均分。 输出格式如下: 20230103:72 20230102:82 20230101:92 程序模板如下: students= [{'学号':'20230101','语文': 90,'数学':95,'英语':92},{'学号':'20230102','语文': 80,'数学':85,'英语':82},{'学号':'20230103','语文': 70,'数学':75,'英语':72}] for student in students: ① students.sort(key = lambda x:x['平均分'],reverse = False) for student in students: print('{}:{}'.format( ② , ③ )) 试题编号:202309-P5-36 试题类型:编程题 标准答案: 参考程序: students= [{'学号':'20230101','语文': 90,'数学':95,'英语':92}, {'学号':'20230102','语文': 80,'数学':85,'英语':82}, {'学号':'20230103','语文': 70,'数学':75,'英语':72}] for student in students: student['平均分']=(student['语文']+student['数学']+student['英语'])//3 students.sort(key = lambda x:x['平均分'],reverse = False) for student in students: print('{}:{}'.format(student['学号'],student['平均分'])) 试题难度:容易 试题解析: 评分标准: (1)student['平均分']=(student['语文']+student['数学']+student['英语'])//3 或等效答案;(4分) (2)student['学号'] 或等效答案;(3分) (3)student['平均分'] 或等效答案。(3分) 展示地址:点击浏览 考生答案:(此题已作答) 考生得分:0 是否评分:已评分 评价描述: 37. 信息科技社团正在进行一种字符串扩展的实验,实验操作方法如下: (1)给定一个初始字符串s,筛选出其中的大小写字母,生成新的字符串x; (2)将字符串x最后一个字符删除,生成一个新的字符串y; (3)将字符串x的右边最后一个字符拼接到字符串x的末尾; (4)将字符串y拼接到字符串x的末尾。 按照(2)-(4)步骤重复操作,每一步将当前字符串的长度加倍,直到字符串x长度达到n。 给定初始字符串和n,请帮助社团同学们计算扩展的字符串中第n个位置的字符。 以s=“c1ar23”,n=8 为例 c1ar23 --> car --> carrca --> carrcaacarrc 第8个位置上的字符'c',则输出为c 输入格式: 第一行,一个字符串s(长度不超过20) 第二行,一个整数n(1<=n<=100) 输入样例: c1ar23 8 输出格式: 一个字符,表示扩展的字符串中的第n个字符。 输出样例: c s=input() n=int(input()) x="" for i in s: if ((i>='A' and i<='Z') ① ): x=x+i xn=len(x) while xn<n: y=x.replace( ② , '') x=x+x[-1] x=x+y xn= ③ print( ④ ) 试题编号:202309-P5-37 试题类型:编程题 标准答案: 参考程序: s=input() n=int(input()) x="" for i in s: if ((i>='A' and i<='Z')or(i>='a' and i<='z')): x=x+i xn=len(x) while xn<n: y=x.replace(x[-1], '') x=x+x[-1] x=x+y xn=len(x) print(x[n-1]) 试题难度:容易 试题解析: 评分标准: (1)or(i>='a' and i<='z')或等效答案;(2分) (2)x[-1]或等效答案;(2分) (3)len(x)或等效答案;(3分) (4)x[n-1]或等效答案。(3分) 展示地址:点击浏览 考生答案:(此题已作答) 考生得分:10 是否评分:已评分 评价描述: 38. 编写Python程序,要求输出区间[m,n]内所有素数的和,实现上述功能的 Python 程序如下,请在划线处填入合适的代码。 def isPrime(num): #判断素数 num=int(num) for i in range(2,num): if ① : return False if num!=1: return True def PrimeSum(a,b): sum=0 for i in range(a,b+1): if isPrime(i): ② return sum m=int(input("m:")) n=int(input("n:")) print( ③ ) 试题编号:202309-P5-38 试题类型:编程题 标准答案: 参考程序: def isPrime(num): num=int(num) for i in range(2,num): if num%i==0: return False if num!=1: return True def PrimeSum(a,b): sum=0 for i in range(a,b+1): if isPrime(i): sum+=i return sum m=int(input("m:")) n=int(input("n:")) print(PrimeSum(m,n)) ①函数isPrime(num)用于判断num是否为素数,返回True表示num是素数,返回False表示num不是素数,不是素数说明num能被1和自身之外的其他数整除,应填入的代码为num%i==0; ②满足函数isPrime(i)时所执行累加到sum中的操作,应填入的代码为sum+=i。 ③此处为自定义函数的调用,调用PrimeSum函数计算素数和。 试题难度:一般 试题解析: 评分标准: (1)num%i==0;(4分) (2)sum+=i;(3分) (3)PrimeSum(m,n)。(3分) 展示地址:点击浏览 考生答案:(此题已作答) 考生得分:0 是否评分:已评分 评价描述: 学科网(北京)股份有限公司 $$

资源预览图

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