第四单元 “引用”,让编程事半功倍《Python程序编写入门》(高教版)单元过关卷(二)

2025-08-28
| 2份
| 16页
| 117人阅读
| 0人下载

内容正文:

《Python 程序编写入门》高等教育出版社 第4单元 “引用”,与让编程事半功倍 时间:90分钟 总分:100分 班级___________ 姓名___________ 学号___________ 成绩_____________ 一、选择题(本大题共20小题,每小题2分,共40分) 1.以下关于 Python 模块说法错误的是( ) A. 模块可包含函数、类、变量等 B. 一个 .py 文件就是一个模块 C. 导入模块后,通过 模块名.成员 访问其内容 D. 导入模块时,模块代码不会执行 2.执行 s = 'hello'; print(s.capitalize()) ,结果是( ) A. 'HELLO' B. 'Hello' C. 'hELLO' D. 报错 3.以下能获取当前工作目录的是( ) A. os.getcwd() B. os.chdir() C. os.listdir() D. os.path.abspath() 4. 关于 Python 函数参数,以下描述错误的是( ) A. 位置参数必须按顺序传入 B. 关键字参数可打乱顺序传入 C. 可变参数(*args)接收任意数量位置参数 D. 可变参数(**kwargs)接收任意数量位置参数 5.执行 import time; print(time.strftime('%Y-%m-%d')) ,说法正确的是( ) A. 输出当前日期,格式如 2025-08-26 B. 输出固定日期 2025-08-26 C. 语法错误,strftime 参数格式不对 D. 报错,需额外导入模块 6.p = [1,2,3]; print(list(reversed(p))) 的运行结果为( ) A. [1,2,3] B. [3,2,1] C. 迭代器对象(非列表) D. 报错 7.关于 lambda 匿名函数,以下错误的是( ) A. 可作为参数传递给其他函数 B. 能包含复杂的多行逻辑 C. 语法格式为 lambda 参数: 表达式 D. 返回值是表达式计算结果 8.调用 math.sqrt(4) ,说法正确的是( ) A. 返回 2.0 ,sqrt 是求平方根函数 B. 返回 2 ,sqrt 是求平方根函数 C. 语法错误,需 import math 后使用 D. 返回 16 ,sqrt 是平方函数 9.以下导入模块语法,正确的是( ) A. import random as Guo B. form random import * C. import random D. 以上都对 10."%".join("ab") 的运行结果为( ) A. a%b B. ab% C. %ab D. a%ab 11."ababc".center(4, "%") 的运行结果为( ) A. ababc B. %ab% C. ab%c D. %ababc% 12."ab%senter%d" % ("%", 4) 的运行结果为( ) A. ab%enter4 B. a'b C. %ab% D. %ab%enter4 13.guo = lambda x: x - 1; print(guo(3)) 的运行结果为( ) A. 4 B. 2 C. 报错 D. 无显示 14.下列标准自定义函数命名正确的是( ) A. 3w B. _3w C. 3% D. wu-o 15.以下代码,运行后输出结果是( ) def func(x): return x * 2 result = func(5) print(result) A. 5 B. 10 C. None D. 报错 16.模块os 中,用于获取当前工作目录的函数是( ) A. os.getcwd() B. os.listdir() C. os.path.join() D. os.remove() 17.执行from turtle import * ,以下能绘制直线的函数是( ) A. forward B. circle C. color D. penup 18.以下不属于Python内置函数的是( ) A. print B. input C. my_func D. len 19.Python中定义函数的关键字是( ) A. func B. define C. def D. function 20.代码def func(): pass ,pass 的作用是( ) A. 结束函数 B. 占位,使语法完整 C. 无意义 D. 报错 二、填空题(本大题共20小题,每小题2分,共40分) 1.Python 中,判断字符串 s 是否以 'py' 开头,可用 ______ 方法。 2.执行 import random; random.shuffle([1, 2, 3]) ,列表会 ______ 。 3.定义函数 def multiply(a, b): return a * b ,用 map 函数对 [1, 2] 和 [3, 4] 逐元素相乘,写法是 ______ 。 4.Python 中,获取当前脚本所在目录的路径,可用 os 模块的 ______ 方法。 5.列表推导式 [x*2 for x in [1, 2, 3]] 的结果是 ______ 。 6.执行 import calendar; print(calendar.isleap(2024)) ,结果是 ______ 。 7.定义函数 def func(*args): print(args) ,调用 func(1, 2, 3) ,args 的类型是 ______ 。 8.执行 s = ' hello '; s = s.strip(); print(s) ,结果是 ______ 。 9.Python 中,模块 os 里,删除文件的方法是 ______ 。 10.定义匿名函数 lambda x: x**2 ,调用时传入 3 ,结果是 ______ 。 11."python".endswith("on") 的运行结果是______ 。 12."abca".split("a") 的运行结果是______ (填列表形式)。 13.turtle模块中,结束画笔绘制并保持绘图窗口的函数是______。 14.os模块中,创建新目录"test_dir"的函数是______。 15. turtle模块中,设置画笔颜色为红色的函数是______。 16. calendar模块中,获取2025年全年日历的函数是______。 17. time模块中,将时间戳1716200000.0转换为本地时间对象的函数是______。 18.datetime模块中,计算当前时间3小时后的时间,需使用的类是______。 19.turtle模块中,让画笔顺时针旋转90度的函数是______。 20. string模块中,包含所有数字字符的常量是______。 三、程序编写题(本大题共4小题,每小题5分,共20分) 1.编写函数,生成指定行数的杨辉三角(如输入5 ,输出5行杨辉三角 )。 2.编写函数,接收字符串,返回其逆序字符串及长度(如输入"abc" ,返回"cba", 3 )。 3.一个数如果恰好等于它的因子之和,这个数就是“完数” 。用自定义函数的方法找出1000以内的所有完数。 4.编写函数decimal_to_binary(n),将十进制整数 n 转换为二进制字符串(n≥0)。 学科网(北京)股份有限公司 $$ 《Python 程序编写入门》高等教育出版社 第4单元 “引用”,与让编程事半功倍 时间:90分钟 总分:100分 班级___________ 姓名___________ 学号___________ 成绩_____________ 一、选择题(本大题共20小题,每小题2分,共40分) 1.以下关于 Python 模块说法错误的是( ) A. 模块可包含函数、类、变量等 B. 一个 .py 文件就是一个模块 C. 导入模块后,通过 模块名.成员 访问其内容 D. 导入模块时,模块代码不会执行 【答案】D 【解析】 导入模块时,模块顶层代码会执行(如变量定义、函数定义不执行,但 print 等语句会执行 );A、B、C 是模块正确特性,选 D 。 2.执行 s = 'hello'; print(s.capitalize()) ,结果是( ) A. 'HELLO' B. 'Hello' C. 'hELLO' D. 报错 【答案】B 【解析】capitalize() 方法将字符串首字母大写,其余小写,'hello' 处理后为 'Hello' ,选 B 。 3.以下能获取当前工作目录的是( ) A. os.getcwd() B. os.chdir() C. os.listdir() D. os.path.abspath() 【答案】A 【解析】os.getcwd() 获取当前工作目录路径;os.chdir() 改变工作目录;os.listdir() 列目录内容;os.path.abspath() 转换路径为绝对路径,选 A 。 4. 关于 Python 函数参数,以下描述错误的是( ) A. 位置参数必须按顺序传入 B. 关键字参数可打乱顺序传入 C. 可变参数(*args)接收任意数量位置参数 D. 可变参数(**kwargs)接收任意数量位置参数 【答案】D 【解析】**kwargs 接收任意数量 关键字参数 ,组成字典;*args 接收任意数量位置参数,组成元组,D 错误,选 D 。 5.执行 import time; print(time.strftime('%Y-%m-%d')) ,说法正确的是( ) A. 输出当前日期,格式如 2025-08-26 B. 输出固定日期 2025-08-26 C. 语法错误,strftime 参数格式不对 D. 报错,需额外导入模块 【答案】A 【解析】time.strftime('%Y-%m-%d') 按指定格式输出当前系统日期,%Y 是年,%m 是月,%d 是日,选 A 。 6.p = [1,2,3]; print(list(reversed(p))) 的运行结果为( ) A. [1,2,3] B. [3,2,1] C. 迭代器对象(非列表) D. 报错 【答案】B 【解析】 reversed() 返回迭代器,list(reversed(p)) 将其转换为列表,实现列表元素反转,结果 [3,2,1] ,选 B 。 7.关于 lambda 匿名函数,以下错误的是( ) A. 可作为参数传递给其他函数 B. 能包含复杂的多行逻辑 C. 语法格式为 lambda 参数: 表达式 D. 返回值是表达式计算结果 【答案】B 【解析】lambda 是匿名函数,语法简洁,只能写 单行表达式 ,无法包含多行复杂逻辑,B 错误;A、C、D 是 lambda 函数正确特性 。 8.调用 math.sqrt(4) ,说法正确的是( ) A. 返回 2.0 ,sqrt 是求平方根函数 B. 返回 2 ,sqrt 是求平方根函数 C. 语法错误,需 import math 后使用 D. 返回 16 ,sqrt 是平方函数 【答案】A 【解析】math.sqrt() 用于计算平方根,返回浮点数;使用前需 import math ,计算 sqrt(4) 结果是 2.0 ,A 正确 。 9.以下导入模块语法,正确的是( ) A. import random as Guo B. form random import * C. import random D. 以上都对 【答案】D 【解析】Python 中 import 模块名、import 模块名 as 别名、from 模块名 import * 都是合法导入语法,D 涵盖所有正确形式 。 10."%".join("ab") 的运行结果为( ) A. a%b B. ab% C. %ab D. a%ab 【答案】A 【解析】join 用“%”连接“ab”的两个字符 a 和 b ,结果是 a%b 。 11."ababc".center(4, "%") 的运行结果为( ) A. ababc B. %ab% C. ab%c D. %ababc% 【答案】A 【解析】 当 center 方法指定的宽度小于字符串本身长度时,直接返回原字符串,“ababc”长度是5,center(4, "%") 中4小于5,所以返回“ababc” 。 12."ab%senter%d" % ("%", 4) 的运行结果为( ) A. ab%enter4 B. a'b C. %ab% D. %ab%enter4 【答案】A 【解析】Python字符串格式化,%s 用于替换字符串,%d 用于替换整数,这里 "%", 4 分别替换对应占位符,得到 ab%enter4 。 13.guo = lambda x: x - 1; print(guo(3)) 的运行结果为( ) A. 4 B. 2 C. 报错 D. 无显示 【答案】B 【解析】lambda 是Python匿名函数,guo = lambda x: x - 1 定义了一个接收参数 x 并返回 x - 1 的函数,调用 guo(3) 时,返回 3 - 1 = 2 ,所以输出2 。 14.下列标准自定义函数命名正确的是( ) A. 3w B. _3w C. 3% D. wu-o 【答案】B 【解析】Python函数命名规则:可以由字母、数字、下划线组成,不能以数字开头,不能包含特殊字符(除下划线 )。A以数字开头不行;C含特殊字符% 不行;D含特殊字符- 不行;B符合规则,以下划线开头,后续是数字和字母组合 。 15.以下代码,运行后输出结果是( ) def func(x): return x * 2 result = func(5) print(result) A. 5 B. 10 C. None D. 报错 【答案】B 【解析】函数func 接收参数x ,返回x * 2 ,调用func(5) 返回10 ,print 输出10 ,选B。 16.模块os 中,用于获取当前工作目录的函数是( ) A. os.getcwd() B. os.listdir() C. os.path.join() D. os.remove() 【答案】A 【解析】os.getcwd() 获取当前工作目录;os.listdir() 列出目录内容;os.path.join() 拼接路径;os.remove() 删除文件,选A。 17.执行from turtle import * ,以下能绘制直线的函数是( ) A. forward B. circle C. color D. penup 【答案】A 【解析】forward 函数让画笔向前移动绘制直线;circle 绘制圆形;color 设置颜色;penup 抬起画笔,选A。 18.以下不属于Python内置函数的是( ) A. print B. input C. my_func D. len 【答案】C 【解析】print、input、len是Python内置函数,my_func是自定义函数,选C。 19.Python中定义函数的关键字是( ) A. func B. define C. def D. function 【答案】C 【解析】Python使用def关键字定义函数,这是固定语法规则 。 20.代码def func(): pass ,pass 的作用是( ) A. 结束函数 B. 占位,使语法完整 C. 无意义 D. 报错 【答案】B 【解析】pass 是占位语句,用于函数体、循环等语法块需有内容但暂时无逻辑时,使代码语法完整,选B。 二、填空题(本大题共20小题,每小题2分,共40分) 1.Python 中,判断字符串 s 是否以 'py' 开头,可用 ______ 方法。 【答案】s.startswith('py') 【解析】startswith() 用于判断字符串前缀,常用于文件类型判断(如 .py 文件 )等场景 。 2.执行 import random; random.shuffle([1, 2, 3]) ,列表会 ______ 。 【答案】被随机打乱顺序 【解析】shuffle() 原地打乱列表元素顺序,无返回值,直接修改原列表 。 3.定义函数 def multiply(a, b): return a * b ,用 map 函数对 [1, 2] 和 [3, 4] 逐元素相乘,写法是 ______ 。 【答案】list(map(multiply, [1, 2], [3, 4])) 【解析】map 接收函数和可迭代对象,将函数应用于对应元素,结果转列表得 [3, 8] 。 4.Python 中,获取当前脚本所在目录的路径,可用 os 模块的 ______ 方法。 【答案】os.path.dirname(__file__) 【解析】__file__ 是当前脚本路径,os.path.dirname() 提取目录部分 。 5.列表推导式 [x*2 for x in [1, 2, 3]] 的结果是 ______ 。 【答案】[2, 4, 6] 【解析】遍历 [1, 2, 3] ,每个元素乘以 2,生成新列表 。 6.执行 import calendar; print(calendar.isleap(2024)) ,结果是 ______ 。 【答案】True 【解析】calendar.isleap() 判断年份是否为闰年,2024 能被 4 整除且不是整百年(或整百年能被 400 整除 ),是闰年,返回 True 。 7.定义函数 def func(*args): print(args) ,调用 func(1, 2, 3) ,args 的类型是 ______ 。 【答案】元组(tuple ) 【解析】*args 接收任意数量位置参数,打包成元组 。 8.执行 s = ' hello '; s = s.strip(); print(s) ,结果是 ______ 。 【答案】'hello' 【解析】strip() 去除字符串两端空白字符(空格、换行等 ),中间保留 。 9.Python 中,模块 os 里,删除文件的方法是 ______ 。 【答案】os.remove('文件名') 【解析】os.remove() 用于删除指定路径的文件,删除目录用 os.rmdir()(需目录为空 ) 。 10.定义匿名函数 lambda x: x**2 ,调用时传入 3 ,结果是 ______ 。 【答案】9 【解析】匿名函数接收 x ,返回 x 的平方,3**2 = 9 。 11."python".endswith("on") 的运行结果是______ 。 【答案】True 【解析】endswith("on") 判断字符串是否以“on”结尾,“python”结尾是“on” ,返回 True 。 12."abca".split("a") 的运行结果是______ (填列表形式)。 【答案】['', 'bc', ''] 【解析】以字符“a”为分隔符分割“abca” ,开头和结尾因“a”的位置会产生空字符串,所以结果是 ['', 'bc', ''] 。 13.turtle模块中,结束画笔绘制并保持绘图窗口的函数是______。 【答案】turtle.done() 【解析】turtle.done()用于阻塞程序,使绘图窗口保持显示(否则窗口会一闪而过),通常放在turtle绘图代码的最后,确保用户能看到绘制结果。 14.os模块中,创建新目录"test_dir"的函数是______。 【答案】os.mkdir("test_dir") 【解析】os.mkdir(path)用于创建单层目录,若父目录不存在会报错;若需创建多层目录(如"a/b/c"),需用os.makedirs("a/b/c")。 15. turtle模块中,设置画笔颜色为红色的函数是______。 【答案】turtle.color("red")(或turtle.pencolor("red")) 【解析】color(color)可同时设置画笔颜色和填充颜色;pencolor(color)仅设置画笔颜色,两者均支持字符串颜色名(如"red")或RGB值(如(1,0,0))。 16. calendar模块中,获取2025年全年日历的函数是______。 【答案】calendar.calendar(2025) 【解析】calendar.calendar(year)接收年份,返回该年全年日历的字符串,按月份分块显示,包含每个月的日期和星期分布,可直接打印。 17. time模块中,将时间戳1716200000.0转换为本地时间对象的函数是______。 【答案】time.localtime(1716200000.0) 【解析】time.localtime(timestamp)将时间戳转换为本地时区的struct_time对象(包含年、月、日、时等信息);若需转换为UTC时间,用time.gmtime(timestamp)。 18.datetime模块中,计算当前时间3小时后的时间,需使用的类是______。 【答案】datetime.timedelta 【解析】timedelta用于表示时间间隔,可通过timedelta(hours=3)创建“3小时”的间隔对象,再与当前时间对象(如datetime.now())相加,得到3小时后的时间。 19.turtle模块中,让画笔顺时针旋转90度的函数是______。 【答案】turtle.right(90)(或turtle.rt(90)) 【解析】right(angle)控制画笔绕当前位置顺时针旋转angle度,rt()是其简写;若需逆时针旋转,需用left(angle)(或lt(angle))。 20. string模块中,包含所有数字字符的常量是______。 【答案】string.digits 【解析】string.digits对应"0-9"共10个数字字符,常与random模块配合生成随机验证码(如结合ascii_letters生成字母数字混合验证码)。 三、程序编写题(本大题共4小题,每小题5分,共20分) 1.编写函数,生成指定行数的杨辉三角(如输入5 ,输出5行杨辉三角 )。 【答案】 def yanghui_triangle(n): triangle = [] for i in range(n): row = [1] * (i + 1) for j in range(1, i): row[j] = triangle[i-1][j-1] + triangle[i-1][j] triangle.append(row) for row in triangle: print(" ".join(map(str, row))) n = int(input("请输入行数:")) yanghui_triangle(n) 2.编写函数,接收字符串,返回其逆序字符串及长度(如输入"abc" ,返回"cba", 3 )。 【答案】 def reverse_string(s): reversed_s = s[::-1] length = len(s) return reversed_s, length s = input("请输入字符串:") rev, len_s = reverse_string(s) print(f"逆序字符串:{rev},长度:{len_s}") 3.一个数如果恰好等于它的因子之和,这个数就是“完数” 。用自定义函数的方法找出1000以内的所有完数。 【答案】 def is_perfect_number(n): factors = [] for i in range(1, n): if n % i == 0: factors.append(i) return sum(factors) == n for num in range(1, 1001): if is_perfect_number(num): print(num) 4.编写函数decimal_to_binary(n),将十进制整数 n 转换为二进制字符串(n≥0)。 【答案】 def is_leap_year(year): if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): return True return False # 测试 print(is_leap_year(2020)) # 输出True print(is_leap_year(1900)) # 输出False print(is_leap_year(2000)) # 输出True 学科网(北京)股份有限公司 $$

资源预览图

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