feat(python基础): 新增循环与字符串教学课程

This commit is contained in:
zhiye.sun
2026-07-27 13:38:25 +08:00
parent 84d96caa6e
commit 96e4b696e0
7 changed files with 1535 additions and 5 deletions

View File

@@ -0,0 +1,96 @@
# 第 1-6 课课堂练习Agent 学习打卡统计器
#
# 完成要求:
# 1. 根据注释使用 for、range()、if、continue、计数器和累加器。
# 2. 输入内容需要转换为正确的数字类型。
# 3. 使用有意义的英文蛇形变量名。
# 4. 注意冒号和四个空格缩进。
# 5. 不要删除题目注释。
# 6. 完成后使用题目提供的数据检查结果。
# 练习一:接收计划打卡天数。
# 使用 int() 转换,并保存到 planned_days。
# 练习二:在循环开始前创建三个统计变量:
# 1. total_hours总学习时长初始值为 0.0
# 2. effective_days有效学习日数量初始值为 0
# 3. invalid_records无效记录数量初始值为 0。
# 练习三:使用 for 和 range() 循环 planned_days 次。
# 建议让循环变量 day 从 1 开始,这样提示语可以直接显示“第几天”。
# 注意range() 的结束值不包含在结果中,需要自行计算正确结束值。
# 练习四:在循环中接收当天学习小时数。
# 提示语应包含当前 day例如“请输入第 1 天的学习小时数”。
# 使用 float() 转换,并保存到 daily_hours。
# 练习五:在循环中判断 daily_hours 是否等于 -1。
# 如果等于 -1
# 1. invalid_records 增加 1
# 2. 输出“本条记录无效,已跳过”;
# 3. 使用 continue 跳过本次循环剩余代码。
# 练习六:对于没有被 continue 跳过的有效记录:
# 1. 把 daily_hours 累加到 total_hours
# 2. 如果 daily_hours 大于 0让 effective_days 增加 1
# 3. 如果 daily_hours 等于 0输出“今天没有完成学习”。
# 练习七:循环结束后,判断总目标是否达标。
# total_hours 大于或等于 5 时target_reached 为 True否则为 False。
# 请直接使用比较运算生成布尔值,不必使用 if 分别赋值。
# 练习八:使用字符串乘法输出 30 个等号,再使用 f-string 输出统计报告:
# 1. 计划打卡天数 planned_days
# 2. 总学习时长 total_hours
# 3. 有效学习日 effective_days
# 4. 无效记录 invalid_records
# 5. 总目标是否达标 target_reached。
# 练习九:使用 if...else 输出最终建议:
# - target_reached 为 True输出“学习总时长已达标请保持节奏。”
# - target_reached 为 False输出“学习总时长尚未达标请继续努力。”
# 练习十:额外完成一个独立的 while 循环。
# 1. 创建 review_count初始值为 1
# 2. 当 review_count 小于或等于 3 时,输出“正在进行第几次复习”;
# 3. 每次循环末尾让 review_count 增加 1
# 4. 确保循环能够正常结束。
# 第一次运行请使用以下数据:
# 计划打卡天数5
# 第 1 天2
# 第 2 天0
# 第 3 天1.5
# 第 4 天:-1
# 第 5 天3
#
# 预期结果:
# total_hours = 6.5
# effective_days = 3
# invalid_records = 1
# target_reached = True
# while 循环依次输出第 1、2、3 次复习,然后正常结束。
# 第二次运行可以测试未达标情况:
# 计划打卡天数3
# 第 1 天1
# 第 2 天0
# 第 3 天2
#
# 预期结果:
# total_hours = 3.0
# effective_days = 2
# invalid_records = 0
# target_reached = False
# 完成后进行自查:
# 1. for 循环是否正好执行 planned_days 次;
# 2. -1 是否只增加无效记录,没有加入总时长;
# 3. 0 是否加入总时长,但没有增加有效学习日;
# 4. continue 是否位于无效数据分支中;
# 5. 统计变量是否都在循环外初始化;
# 6. while 循环是否能够在三次后正常结束。