97 lines
3.5 KiB
Python
97 lines
3.5 KiB
Python
# 第 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 循环是否能够在三次后正常结束。
|