feat: 初始化 Python 零基础教学课程

This commit is contained in:
zhiye.sun
2026-07-22 16:42:56 +08:00
commit 84d96caa6e
18 changed files with 3156 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
# 第 1-5 课课堂练习Agent 学习状态评估器
#
# 完成要求:
# 1. 根据注释使用 if、elif 和 else 编写条件分支。
# 2. 注意英文冒号和四个空格缩进。
# 3. 数字输入需要转换为正确类型。
# 4. 布尔状态应使用比较结果生成,不要保存成 "True" 或 "False" 字符串。
# 5. 不要删除题目注释。
# 6. 完成后使用题目末尾提供的多组数据测试程序。
# 练习一:接收用户每天学习的小时数。
# 使用 float() 转换,并保存到 daily_hours。
# 练习二:询问用户是否完成本课练习,约定输入 yes 或 no。
# 将原始输入保存到 practice_answer。
# 使用 == 比较 practice_answer 是否等于 "yes",把布尔结果保存到 practice_finished。
# 练习三:接收测验成绩,成绩范围为 0 到 100。
# 使用 float() 转换,并保存到 score。
# 练习四:使用 if...elif...else 判断成绩等级。
# 必须先判断 score 是否小于 0 或大于 100
# - 范围无效score_level = "输入无效"
# - 90 分及以上score_level = "优秀"
# - 80 分及以上score_level = "良好"
# - 60 分及以上score_level = "合格"
# - 其余有效成绩score_level = "未通过"
# 练习五:创建三个布尔变量。
# 1. score_is_valid成绩是否处于 0 到 100 之间,请使用链式比较;
# 2. score_is_passed成绩是否大于或等于 60
# 3. learning_time_is_enough每天学习时间是否大于或等于 1 小时。
# 练习六:判断是否可以继续下一课。
# 只有以下四个条件全部成立时can_continue 才为 True
# - 成绩范围有效;
# - 成绩通过;
# - 已经完成练习;
# - 每天学习时间达到 1 小时。
# 请使用 and 组合条件,把结果保存到 can_continue。
# 练习七:输出由 30 个等号组成的分隔线,再输出成绩等级。
# 练习八:使用 if...else 根据 can_continue 输出结论。
# - 可以继续:输出“所有要求均已达到,可以进入下一课。”
# - 不可继续:输出“当前仍有要求未达到,请查看具体建议。”
# 练习九:使用一组 if...elif...else 给出一条具体建议。
# 建议按以下优先顺序判断:
# 1. 成绩范围无效:提示输入 0 到 100 之间的分数;
# 2. 成绩未通过:提示复习并重新测验;
# 3. 练习未完成:提示完成课堂练习;
# 4. 学习时间不足:提示每天至少安排 1 小时;
# 5. 以上问题都不存在:提示保持节奏继续学习。
#
# 注意:这里使用 elif 是为了每次只输出当前优先级最高的一条建议。
# 练习十:使用 f-string 输出完整评估数据,至少包括:
# daily_hours、practice_finished、score、score_level 和 can_continue。
# 完成后必须使用以下六组数据分别运行:
#
# 第一组2.5、yes、95
# 预期:优秀,可以继续。
#
# 第二组1.5、yes、75
# 预期:合格,可以继续。
#
# 第三组0.5、yes、75
# 预期:合格,但学习时间不足,不能继续。
#
# 第四组2、no、80
# 预期:良好,但练习未完成,不能继续。
#
# 第五组2、yes、50
# 预期:未通过,不能继续。
#
# 第六组2、yes、120
# 预期:输入无效,不能继续。
# 完成后进行自查:
# 1. 每个 if、elif、else 末尾是否都有英文冒号;
# 2. 同一分支的代码是否统一缩进四个空格;
# 3. 分数范围校验是否早于成绩等级判断;
# 4. 成绩等级条件是否从高分向低分排列;
# 5. can_continue 是否组合了全部四个条件;
# 6. 六组测试数据是否分别进入了正确分支。