Files

97 lines
3.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 第 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 循环是否能够在三次后正常结束。