Python 基础语法(上篇 + 下篇)——综合自测题

Python 基础语法(上篇 + 下篇)——综合自测题 Python 基础语法上篇 下篇——综合自测题 自测说明适用章节第一期环境搭建与数据基石 第二期运算符全解与实战演练题型设置填空题10题、判断题10题、代码改错题5题、代码补全题4题、简答题4题、实战输出题4题难度梯度⭐基础→ ⭐⭐中等→ ⭐⭐⭐综合建议时长60~90 分钟答案位置本自测题末尾附完整答案与解析一、填空题每空 2 分共 20 分请将正确答案填写在横线上。Python 安装成功后在命令行中输入________可以查看已安装的 Python 版本号。⭐在 pip 的配置文件中index-url参数用于指定 ________。⭐Python 中使用 ________ 个空格作为标准缩进单位。⭐以下变量的命名中符合 Python 命名规范的是________填序号。⭐A.2nd_placeB.student_nameC.class保留字D.StudentName类名规范非变量在 Python 中True等价于整数 ____False等价于整数 ____。⭐int(3.99)的返回值是 ____。⭐表达式10 // 3的返回值是 ____10 % 3的返回值是 ____。⭐Python 中逻辑运算符and和or遵循 ________ 求值原则。⭐字符串hello.upper()的返回值是 ________。⭐表达式~9的返回值是 ____。⭐⭐二、判断题每题 2 分共 20 分判断下列说法是否正确正确的打✓错误的打✗。 Python 中的变量必须先声明类型才能使用。 list和tuple的主要区别之一是 list 可变而 tuple 不可变。 在 Python 中/和//的运算结果类型完全相同。 字典中的键key可以是列表类型。 f-string格式化字符串时{}中可以写任意合法的 Python 表达式。 continue语句会终止整个循环的执行。 in运算符可以判断一个元素是否在字符串、列表、元组和字典的值中。 strip()方法默认只能删除字符串两端的空格不能删除其他字符。 range(1, 10, 2)生成的序列包含数字 9。 isinstance(3.14, int)的返回值为True。三、代码改错题每题 4 分共 20 分以下每段代码均有 1~2 处错误请指出错误并给出修正后的代码。第 1 题⭐pythonscore input(请输入成绩) if score 60: print(及格) else: print(不及格)第 2 题⭐pythoni 1 while i 10 print(i) i 1第 3 题⭐⭐pythonname 张三 age 18 info 姓名 name 年龄 age 岁 print(info)第 4 题⭐⭐pythonnumbers [1, 2, 3, 4, 5] for i in range(5): if i 3: continue print(numbers[i]) else: print(循环正常结束)第 5 题⭐⭐pythontext Hello World text.strip() print(text)四、代码补全题每题 5 分共 20 分请根据注释提示补全以下代码中缺失的部分。第 1 题⭐计算 1 到 100 的累加和pythontotal 0 i 1 while ________: # 补全循环条件 total i ________ # 补全循环变量的更新 print(f1到100的和为{total})第 2 题⭐⭐判断一个数是否为偶数并输出对应的布尔值pythonnum 8 is_even ________ # 补全表达式判断是否为偶数 print(f{num} 是偶数{is_even})第 3 题⭐⭐使用列表推导式生成 1~20 中所有偶数的平方pythonnumbers range(1, 21) squares_of_even ________ # 补全列表推导式 print(squares_of_even)第 4 题⭐⭐将列表中的字符串按指定格式拼接pythonfruits [苹果, 香蕉, 橙子] result ________ # 使用 join 方法拼接用 | 分隔 print(result) # 期望输出苹果 | 香蕉 | 橙子五、简答题每题 5 分共 20 分第 1 题⭐请简述 Python 中/和//运算符的区别并各举一个示例。第 2 题⭐⭐简述 Python 中break和continue语句的区别并说明它们分别在什么场景下使用。第 3 题⭐⭐请简述list、tuple、set、dict四种数据类型的核心区别从是否可变、是否有序、元素是否唯一三个维度对比。第 4 题⭐⭐⭐请简述%格式化、format()方法和f-string三种字符串格式化方式的优劣并说明在实际开发中如何选择。六、实战输出题每题 5 分共 20 分请写出以下程序的运行结果或执行效果描述。第 1 题⭐写出以下代码的运行结果。pythonx 5 y 2 print(x y) print(x - y) print(x * y) print(x / y) print(x // y) print(x ** y)第 2 题⭐⭐写出以下代码的运行结果。pythontext Python result for char in text: if char o: continue result char print(result)第 3 题⭐⭐⭐写出以下代码的运行结果。pythona 10 b 20 result (a b) and (b 0) print(result) result (a b) or (b 0) print(result) result not (a 10) print(result)第 4 题⭐⭐⭐写出以下代码的运行结果。pythondef demo(): for i in range(1, 4): for j in range(1, i 1): print(j, end) print() demo() 答案与解析一、填空题答案题号答案解析1python --version验证 Python 是否安装成功并查看版本2镜像源或 PyPI 镜像服务器地址index-url指定包下载的源地址34PEP 8 推荐使用 4 个空格作为缩进4B.student_name小写 下划线是 Python 变量命名的推荐风格510bool是int的子类63浮点数转整数直接截断小数部分73110 // 3 310 % 3 18短路当结果确定时不再计算剩余表达式9HELLO将所有字母转为大写10-10按位取反公式~x -x - 1二、判断题答案题号答案解析1✗Python 是动态类型语言变量无需预先声明类型2✓list 可变增删改tuple 不可变3✗/返回浮点数//返回整数整除4✗字典的键必须是不可变类型列表是可变类型5✓{}中可以写变量、运算、函数调用等表达式6✗continue只跳过本次循环不终止整个循环7✗字典中的in判断的是键不是值8✗strip()可传入参数删除指定字符9✓range(1, 10, 2)生成 1, 3, 5, 7, 910✗3.14是float类型isinstance(3.14, int)返回False三、代码改错题答案第 1 题⭐错误input()返回的是字符串直接与整数比较会报错。修正pythonscore int(input(请输入成绩)) # 添加 int() 转换 if score 60: print(及格) else: print(不及格)第 2 题⭐错误while语句缺少末尾的冒号:。修正pythoni 1 while i 10: # 添加冒号 print(i) i 1第 3 题⭐⭐错误字符串与整数不能直接用拼接需要将年龄转为字符串。修正pythonname 张三 age 18 info 姓名 name 年龄 str(age) 岁 # 使用 str() 转换 # 或使用 f-string info f姓名{name}年龄{age}岁 print(info)第 4 题⭐⭐错误range(5)产生 0~4对应numbers[4]是最后一个元素。无索引越界错误但更常见写法是range(len(numbers))。此处代码逻辑正确只是在循环中continue跳过了i3此时执行print(numbers[3])被跳过所以输出 1, 2, 3, 5然后执行else输出“循环正常结束”。代码本身能正确运行。为更严谨建议改为pythonnumbers [1, 2, 3, 4, 5] for num in numbers: # 直接遍历列表更简洁 if num 3: continue print(num) else: print(循环正常结束)第 5 题⭐⭐错误字符串是不可变类型strip()返回新字符串原字符串不变。修正pythontext Hello World text text.strip() # 将返回值赋回给变量 print(text) # 输出Hello World四、代码补全题答案第 1 题⭐pythontotal 0 i 1 while i 100: # 补全循环条件 total i i 1 # 补全循环变量的更新 print(f1到100的和为{total})第 2 题⭐⭐pythonnum 8 is_even num % 2 0 # 补全表达式判断是否为偶数 print(f{num} 是偶数{is_even})第 3 题⭐⭐pythonnumbers range(1, 21) squares_of_even [x**2 for x in numbers if x % 2 0] # 补全列表推导式 print(squares_of_even)第 4 题⭐⭐pythonfruits [苹果, 香蕉, 橙子] result | .join(fruits) # 使用 join 方法拼接 print(result) # 输出苹果 | 香蕉 | 橙子五、简答题答案第 1 题⭐/是真除法无论操作数是什么类型结果都返回浮点数。//是整除地板除返回不大于商的最大整数向下取整结果的类型取决于操作数类型。pythonprint(10 / 3) # 3.3333333333333335浮点数 print(10 // 3) # 3整数 print(10.0 // 3) # 3.0浮点数第 2 题⭐⭐对比维度breakcontinue作用终止整个循环跳出循环体跳过本次循环的剩余代码进入下一次循环循环是否继续不再继续继续下一次循环适用场景提前找到目标后退出如查找元素某些条件不满足时跳过处理如过滤数据python# break 示例找到 5 后停止 for i in range(10): if i 5: break print(i) # 输出 0, 1, 2, 3, 4 # continue 示例跳过偶数 for i in range(5): if i % 2 0: continue print(i) # 输出 1, 3第 3 题⭐⭐数据类型是否可变是否有序元素是否唯一创建示例list列表✅ 可变✅ 有序❌ 允许重复[1, 2, a]tuple元组❌ 不可变✅ 有序❌ 允许重复(1, 2, a)set集合✅ 可变❌ 无序✅必须唯一{1, 2, 3}dict字典✅ 可变❌ 无序Python 3.7 按插入顺序键必须唯一{name: Tom}白话理解列表购物车可随意增减有顺序。元组密封档案盒放入后不可更改。集合自动去重的收纳盒无序存放。字典新华字典通过“键”快速查找对应的“值”。第 4 题⭐⭐⭐对比维度%格式化format()f-string引入版本Python 1.xPython 3.0Python 3.6语法简洁度一般需记忆格式符较好⭐ 最简洁可读性一般较好⭐ 最好表达式支持不支持支持⭐ 完全支持性能较慢中等⭐ 最快适用场景维护老旧代码动态构建格式化模板日常开发首选选择建议日常开发首选f-string语法简洁、性能最好、可读性最强。需要动态构建格式化模板如模板内容来自配置文件或数据库使用format()因为模板可以动态生成。维护 Python 3.5 或更早版本的旧代码使用%格式化保持一致性。六、实战输出题答案第 1 题⭐text7 3 10 2.5 2 25解析5 2 75 - 2 35 * 2 105 / 2 2.5注意除法结果为浮点数5 // 2 2整除向下取整5 ** 2 25幂运算第 2 题⭐⭐textPythn解析遍历字符串Python依次取字符P,y,t,h,o,n当字符为o时执行continue跳过本次循环的剩余代码其他字符拼接到result中最终输出Pythn缺少o第 3 题⭐⭐⭐textFalse True False解析(a b)为False10 20 不成立and短路整个表达式返回False(a b)为True10 20 成立or短路整个表达式返回True(a 10)为Truenot True为False第 4 题⭐⭐⭐text1 12 123解析外层i从 1 到 3内层j从 1 到i输出j的值每行结束后换行第1行j从1到1输出1第2行j从1到2输出12第3行j从1到3输出123 自测评分参考得分范围评级建议100~120 分⭐⭐⭐ 优秀基础扎实可以自信地进入下一期学习80~99 分⭐⭐ 良好局部知识点有遗漏建议回顾错题对应的章节60~79 分⭐ 合格部分核心概念还不够牢固建议重读笔记中对应的章节并动手练习60 分以下 待加强建议重新学习第一、二期笔记配合代码实战逐个知识点攻克 下一步建议完成自测后您可以根据评分结果决定学习节奏优秀/良好可以直接进入第五期组合数据类型的学习。合格/待加强建议先回顾本自测中的错题所对应的笔记章节动手将相关代码重新运行一遍确保每一个概念都真正理解后再继续。祝学习顺利