第2单元 程序世界的基本元素-《python程序编写入门》(高教版)单元过关卷(二)

2025-07-07
| 2份
| 15页
| 96人阅读
| 0人下载

内容正文:

《Python 程序编写入门》高等教育出版社 第2单元 程序世界的基本元素 时间:90分钟 总分:100分 班级___________ 姓名___________ 学号___________ 成绩_____________ 一、选择题(本大题共20小题,每小题2分,共40分) 1.以下属于 Python 合法标识符的是( )。 A. 123var B. _name C. var-name D. class 2.Python 中,以下可用于判断 x 是否在列表 lst 中的表达式是( ) A. x % lst B. x in lst C. lst contain x D. x == lst 3.以下能正确生成空字典的是( )。 A. dict = () B. dict = [] C. dict = {} D. dict = set() 4.执行 a, b = 1, 2; a, b = b, a 后,a、b 的值是( )。 A.1,2 B.2,1 C.报错 D.无变化 5.关于Python列表lst = [1, 2, 3],以下操作能删除元素2的是( )。 A. lst.pop(1) B. lst.remove(3) C. del lst[0] D. lst.clear() 6.Python中,要生成0到9(含9 )的整数序列,正确的是( )。 A. range(0, 9) B. range(1, 10) C. range(0, 10) D. range(9) 7.以下能正确判断字符串s是否以'py'开头的Python代码是( )。 A. s.startswith('py') B. s.endswith('py') C. s.find('py') == 0 D. 以上都不对 8.Python中,dict = {'name': 'Tom', 'age': 18} ,获取'age'对应值的正确方式是( )。 A.dict['age'] B.dict(age) C.dict.get(age) D.dict.age 9.以下运算优先级最高的是( )。 A. + B. * C. ** D. // 10.函数 len((1, 2, 3, 4)) 的返回值是( )。 A. 3 B. 4 C. 5 D. 报错 11.Python 中,bool(0.0) 的值是( )。 A. False B. True C. 报错 D. 不确定 12.print(round(2.5)) 的结果是( )。 A. 2 B. 3 C. 2.5 D. 报错 13.表达式 'a' * 2 + 'b' 的结果是( )。 A. 'aba' B. 'ab' C. 报错 D. 'aab' 14.关于 Python 列表和元组,以下描述错误的是( )。 A. 列表是可变类型,元组是不可变类型 B. 列表用[] 定义,元组用() 定义 C. 列表和元组都可通过索引访问元素 D. 列表和元组都能使用 append 方法添加元素 15.以下能正确获取字典 d = {'a': 1, 'b': 2} 所有值的是( )。 A. d.keys() B. d.values() C. d.items() D. d.getall() 16.Python 中,以下属于浅拷贝的是( )。 A. list1 = list2 B. list1 = list2.copy() C. list1 = list2[:] D. 以上 B、C 都是 17.Python 中,frozenset([1, 2, 3]) 的类型是( )。 A. list B. tuple C. set D. frozenset 18.s = "Python is fun"; print(s.split(' ')) 的结果是( )。 A. ["Python", "is", "fun"] B. ["Python is fun"] C. ["Python", "is fun"] D.报错 19.x = frozenset([1, 2, 3]); y = {3, 4, 5}; print(x & y) 的结果是( )。 A. {3} B. {1, 2, 3, 4, 5} C. {1, 2} D. set() 20.以下能正确关闭文件对象 f 的是( )。 A. f.close() B. f.closed() C. close(f) D. f = None 二、填空题(本大题共20小题,每小题2分,共40分) 1.import random; print(random.randint(1, 10)) 的运行结果范围是____ 。 2.set1 = {1, 2, 3}; set2 = {3, 4, 5}; print(set1 | set2) 的运行结果为____。 3.tuple1 = (1, 2, 3); print(tuple1[-1]) 的运行结果为____。 4.x = " Python "; y = x.strip().lower(); print(y) 的运行结果为____。 5.lst = [5, 3, 7, 1]; lst.sort(reverse=True); print(lst) 的运行结果为____。 6.d = dict.fromkeys(['a', 'b'], 0); print(d) 的运行结果为____。 7. a = True; b = False; print(a and b) 的运行结果为____。 8.Python 中,a = [1, 2, 3]; a.pop(1); print(a) 的运行结果为____。 9.s = "hello"; print(s.find("ll")) 的运行结果为____。 10.d = {'k1': 10, 'k2': 20}; d['k3'] = 30; print(d) 的运行结果为____。 11.a = (1, 2); b = (3,); print(a + b) 的运行结果为____。 12. set1 = {1, 2}; set1.update([3, 4]); print(set1) 的运行结果为____。 13.import math; print(math.ceil(3.2)) 的运行结果为____。 14.Python 中,print(ord('A')) 的运行结果为____。 15.lst = [1, 2, 3]; lst.extend([4, 5]); print(lst) 的运行结果为____。 16.import math; print(math.sqrt(16)) 的运行结果为____。 17.set1 = {1, 2, 3}; set1.add(4); print(set1) 的运行结果为____。 18.a = (1, 2, 3); b = (4, 5); print(a + b) 的运行结果为____。 19.a = "Hello"; print(a.lower()) 的运行结果为____。 20.Python 中,zip([1, 2], ['a', 'b']) 返回的可迭代对象,元素是____。 三、简答题(本大题共4小题,每小题5分,共20分) 1.元组a=(2025,2024,2026),b=(2026,2027),求a+b并写出运行的结果。 2.有列表nums = [3, 1, 4, 1, 5, 9, 2, 6],用Python代码去重并按升序排序,写出步骤。 3.集合a={1,2,3,4},b={1,2,5,6},求a与b的差集,并集,补集的结果。 4.解释Python中“可变类型”和“不可变类型”的区别,各举一个典型例子(如列表、元组 )。 学科网(北京)股份有限公司 $$ 《Python 程序编写入门》高等教育出版社 第2单元 程序世界的基本元素 时间:90分钟 总分:100分 班级___________ 姓名___________ 学号___________ 成绩_____________ 一、选择题(本大题共20小题,每小题2分,共40分) 1.以下属于 Python 合法标识符的是( )。 A. 123var B. _name C. var-name D. class 【答案】B 【解析】 Python 标识符规则:不能以数字开头;不能含 -;class 是关键字;_name 符合规则,以下划线开头,是合法标识符 。 2.Python 中,以下可用于判断 x 是否在列表 lst 中的表达式是( ) A. x % lst B. x in lst C. lst contain x D. x == lst 【答案】B 【解析】in 是 Python 成员运算符,x in lst 用于判断 x 是否是 lst 元素,所以选B。 3.以下能正确生成空字典的是( )。 A. dict = () B. dict = [] C. dict = {} D. dict = set() 【答案】C 【解析】() 生成空元组;[] 生成空列表;{} 生成空字典;set() 生成空集合 所以选C。 4.执行 a, b = 1, 2; a, b = b, a 后,a、b 的值是( )。 A.1,2 B.2,1 C.报错 D.无变化 【答案】B 【解析】Python 支持多变量赋值和交换,先 a=1、b=2,然后 a, b = b, a 把 b 值给 a,a 值给 b,实现交换,结果 a=2、b=1 。所以选B。 5.关于Python列表lst = [1, 2, 3],以下操作能删除元素2的是( )。 A. lst.pop(1) B. lst.remove(3) C. del lst[0] D. lst.clear() 【答案】A 【解析】pop(index) 按索引删除元素并返回该元素,lst.pop(1) 删索引 1(即元素 2 );remove(value) 删第一个匹配值,所以选A。 6.Python中,要生成0到9(含9 )的整数序列,正确的是( )。 A. range(0, 9) B. range(1, 10) C. range(0, 10) D. range(9) 【答案】C 【解析】range(start, end) 生成 [start, end) 区间整数,range(0, 10) 生成 0 到 9 ,所以选C。 7.以下能正确判断字符串s是否以'py'开头的Python代码是( )。 A. s.startswith('py') B. s.endswith('py') C. s.find('py') == 0 D. 以上都不对 【答案】A 【解析】startswith(prefix) 方法判断字符串是否以指定前缀开头;endswith 是判断结尾;find('py') == 0 虽也能判断,但 startswith 更直接语义化,所以选A。 8.Python中,dict = {'name': 'Tom', 'age': 18} ,获取'age'对应值的正确方式是( )。 A.dict['age'] B.dict(age) C.dict.get(age) D.dict.age 【答案】A 【解析】字典通过 [key] 语法获取值,dict['age'] 能拿到 18 ;B 是创建字典语法,不是取值;get 方法需传字符串 'age' ,即 dict.get('age') ;D 不是字典取值语法,所以选 A 。 9.以下运算优先级最高的是( )。 A. + B. * C. ** D. // 【答案】C 【解析】Python 运算优先级中,幂运算** 高于乘除(*、// 等 )和加减(+ 等 ),所以选 C 。 10.函数 len((1, 2, 3, 4)) 的返回值是( )。 A. 3 B. 4 C. 5 D. 报错 【答案】B 【解析】len() 函数用于获取可迭代对象(如元组 )的元素个数,元组(1, 2, 3, 4) 有4 个元素,所以返回4 ,选 B 。 11.Python 中,bool(0.0) 的值是( )。 A. False B. True C. 报错 D. 不确定 【答案】A 【解析】0.0 是浮点数形式的假值,转换为布尔类型是False ,所以选 A 。 12.print(round(2.5)) 的结果是( )。 A. 2 B. 3 C. 2.5 D. 报错 【答案】A 【解析】Python 3.x 里 round(2.5) 结果是2 ,当数值是x.5 形式时,Python 3 中会舍入到最接近的偶数,2.5 更接近2 和3 中的偶数2 ,遵循“四舍六入五取偶”规则。 13.表达式 'a' * 2 + 'b' 的结果是( )。 A. 'aba' B. 'ab' C. 报错 D. 'aab' 【答案】D 【解析】先算乘法'a' * 2 = 'aa' ,再算加法'aa' + 'b' = 'aab' ,所以选D。 14.关于 Python 列表和元组,以下描述错误的是( )。 A. 列表是可变类型,元组是不可变类型 B. 列表用[] 定义,元组用() 定义 C. 列表和元组都可通过索引访问元素 D. 列表和元组都能使用 append 方法添加元素 【答案】D 【解析】列表是可变类型,有append 方法;元组是不可变类型,没有append 方法,A、B、C 描述正确,所以选 D 。 15.以下能正确获取字典 d = {'a': 1, 'b': 2} 所有值的是( )。 A. d.keys() B. d.values() C. d.items() D. d.getall() 【答案】B 【解析】d.values() 返回字典所有值的视图;d.keys() 返回键视图;d.items() 返回键值对视图;Python 无 d.getall() 方法,所以选 B 。 16.Python 中,以下属于浅拷贝的是( )。 A. list1 = list2 B. list1 = list2.copy() C. list1 = list2[:] D. 以上 B、C 都是 【答案】D 【解析】list2.copy() 和 list2[:] 都属于浅拷贝(创建新列表,但嵌套可变对象仍共享 );list1 = list2 是引用赋值,不是拷贝。所以选 D 。 17.Python 中,frozenset([1, 2, 3]) 的类型是( )。 A. list B. tuple C. set D. frozenset 【答案】D 【解析】frozenset 是不可变集合类型,创建后元素不可修改,frozenset([1,2,3]) 类型为 frozenset ,选 D 。 18.s = "Python is fun"; print(s.split(' ')) 的结果是( )。 A. ["Python", "is", "fun"] B. ["Python is fun"] C. ["Python", "is fun"] D.报错 【答案】A 【解析】split(' ') 按空格分割字符串,将s 拆分为["Python", "is", "fun"] ,所以选A。 19.x = frozenset([1, 2, 3]); y = {3, 4, 5}; print(x & y) 的结果是( )。 A. {3} B. {1, 2, 3, 4, 5} C. {1, 2} D. set() 【答案】A 【解析】& 是集合交集运算符,x 和y 的交集是{3} ,frozenset 和普通集合可进行交集运算。所以选 A。 20.以下能正确关闭文件对象 f 的是( )。 A. f.close() B. f.closed() C. close(f) D. f = None 【答案】A 【解析】f.close() 是关闭文件的标准方法;f.closed 是属性,判断文件是否关闭;close(f) 不是 Python 语法;f = None 只是取消引用,不保证关闭文件,所以选 A。 二、填空题(本大题共20小题,每小题2分,共40分) 1.import random; print(random.randint(1, 10)) 的运行结果范围是____ 。 【答案】1 到 10 【解析】random.randint(a, b) 生成 a 到 b 之间(包含 a 和 b )的随机整数。 2.set1 = {1, 2, 3}; set2 = {3, 4, 5}; print(set1 | set2) 的运行结果为____。 【答案】{1, 2, 3, 4, 5} 【解析】| 是集合并集运算符,合并两个集合去重后的元素。 3.tuple1 = (1, 2, 3); print(tuple1[-1]) 的运行结果为____。 【答案】3 【解析】负索引从右往左数,-1 表示最后一个元素,即 3 。 4.x = " Python "; y = x.strip().lower(); print(y) 的运行结果为____。 【答案】python 【解析】先 strip() 去除首尾空格,再 lower() 转为小写,结果为 python 。 5.lst = [5, 3, 7, 1]; lst.sort(reverse=True); print(lst) 的运行结果为____。 【答案】[7, 5, 3, 1] 【解析】sort(reverse=True) 对列表降序排序,原列表排序后变为 [7,5,3,1] 。 6.d = dict.fromkeys(['a', 'b'], 0); print(d) 的运行结果为____。 【答案】{'a': 0, 'b': 0} 【解析】fromkeys() 用序列作为键,指定值 0 填充,创建新字典。 7. a = True; b = False; print(a and b) 的运行结果为____。 【答案】False 【解析】and 逻辑运算符,两边都为真才返回真,a 真 b 假,结果 False 。 8.Python 中,a = [1, 2, 3]; a.pop(1); print(a) 的运行结果为____。 【答案】[1, 3] 【解析】pop(index) 方法删除并返回指定索引的元素,删除索引 1(元素 2 )后,列表变为 [1, 3] 。 9.s = "hello"; print(s.find("ll")) 的运行结果为____。 【答案】2 【解析】find() 方法查找子串首次出现的索引,"ll" 在 "hello" 中从索引 2 开始,返回 2 。 10.d = {'k1': 10, 'k2': 20}; d['k3'] = 30; print(d) 的运行结果为____。 【答案】{'k1': 10, 'k2': 20, 'k3': 30} 【解析】直接通过 d['k3'] = 30 为字典添加新键值对,字典扩展后包含 'k3': 30 。 11.a = (1, 2); b = (3,); print(a + b) 的运行结果为____。 【答案】(1, 2, 3) 【解析】元组支持+ 运算,连接两个元组,注意b 是单元素元组(末尾逗号不能少 )。 12. set1 = {1, 2}; set1.update([3, 4]); print(set1) 的运行结果为____。 【答案】{1, 2, 3, 4} 【解析】update() 方法用可迭代对象扩展集合,添加新元素。 13.import math; print(math.ceil(3.2)) 的运行结果为____。 【答案】4 【解析】math.ceil() 函数向上取整,3.2 向上取整为4 。 14.Python 中,print(ord('A')) 的运行结果为____。 【答案】65 【解析】ord() 函数返回字符的 ASCII 码值,'A' 对应 ASCII 码 65 。 15.lst = [1, 2, 3]; lst.extend([4, 5]); print(lst) 的运行结果为____。 【答案】[1, 2, 3, 4, 5] 【解析】extend() 方法将可迭代对象元素添加到列表末尾,原列表扩展后包含新元素。 16.import math; print(math.sqrt(16)) 的运行结果为____。 【答案】4.0 【解析】math.sqrt() 函数计算平方根,16 的平方根是4 ,返回浮点数4.0 。 17.set1 = {1, 2, 3}; set1.add(4); print(set1) 的运行结果为____。 【答案】{1, 2, 3, 4} 【解析】add() 方法向集合中添加元素,原集合{1,2,3} 添加4 后变为{1,2,3,4} 。 18.a = (1, 2, 3); b = (4, 5); print(a + b) 的运行结果为____。 【答案】(1, 2, 3, 4, 5) 【解析】元组支持+ 运算符,用于连接两个元组,将a 和b 连接成新元组。 19.a = "Hello"; print(a.lower()) 的运行结果为____。 【答案】hello 【解析】lower() 方法将字符串中所有大写字母转为小写,所以"Hello" 变为"hello" 。 20.Python 中,zip([1, 2], ['a', 'b']) 返回的可迭代对象,元素是____。 【答案】(1, 'a'), (2, 'b') 【解析】zip 函数将多个可迭代对象对应位置元素打包成元组,长度以最短对象为准。 三、简答题(本大题共4小题,每小题5分,共20分) 1.元组a=(2025,2024,2026),b=(2026,2027),求a+b并写出运行的结果。 【答案】 a=(2025,2024,2026) b=(2026,2027) print(a+b) 结果为(2025,2024,2026,2026,2027) 2.有列表nums = [3, 1, 4, 1, 5, 9, 2, 6],用Python代码去重并按升序排序,写出步骤。 【答案】 nums = [3, 1, 4, 1, 5, 9, 2, 6] unique_nums = list(set(numls)) sorted_nums = sorted(unique_nums) print(sorted_nums)。 3.集合a={1,2,3,4},b={1,2,5,6},求a与b的差集,并集,补集的结果。 【答案】 a={1,2,3,4} b={1,2,5,6} print(a-b, a|b, a^b) {3, 4} {1, 2, 3, 4, 5, 6} {3, 4, 5, 6} 4.解释Python中“可变类型”和“不可变类型”的区别,各举一个典型例子(如列表、元组 )。 【答案】 可变类型:创建后,能直接修改其内部元素(如值、长度等 ),修改时内存地址不变。典型例子是 列表(list ),如 lst = [1, 2] ,执行 lst.append(3) ,列表内容变 [1,2,3] ,但 lst 内存地址不变。 不可变类型:创建后,无法直接修改内部元素,若要“修改”,实际是创建新对象,内存地址改变。典型例子是 元组(tuple ),如 t = (1, 2) ,不能直接 t[0] = 3 ,若想得到类似 (3,2) ,需重新创建元组(如 t = (3, ) + t[1:] ),新 t 内存地址和原不同。 学科网(北京)股份有限公司 $$

资源预览图

第2单元 程序世界的基本元素-《python程序编写入门》(高教版)单元过关卷(二)
1
第2单元 程序世界的基本元素-《python程序编写入门》(高教版)单元过关卷(二)
2
第2单元 程序世界的基本元素-《python程序编写入门》(高教版)单元过关卷(二)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。