鱼C论坛

 找回密码
 立即注册
查看: 19|回复: 1

[萌新报道] 新人报道第十天

[复制链接]
发表于 2 小时前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. from datetime import date
  2. name ="helen_h"
  3. first_day = date(2026,3,31)
  4. today = date.today()
  5. days_diff = today - first_day
  6. absent_date_list = ['2026-4-6']
  7. days_absent = len(absent_date_list)
  8. days = days_diff.days +1 - days_absent
  9. print(f"欢迎{name}!今天是你报道打卡的第{days}天。")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2 小时前 | 显示全部楼层
新人报道第十天

欢迎新人!你的代码思路正确,但有一些小问题需要修正,以便正确计算打卡天数。

主要问题:
- absent_date_list 没有赋值,运行时会报错。
- first_day 是未来日期(2026年3月31日),会导致计算出的天数为负数。

修正建议:
1. 将 first_day 改为实际的开始日期(过去日期)。
2. 为 absent_date_list 赋值一个缺席日期列表(例如使用 date 对象)。
3. 如果今天是报道第十天,开始日期应该是今天往前推9天。

修正代码示例:
  1. from datetime import date, timedelta

  2. name = "helen_h"
  3. today = date.today()
  4. # 假设今天是报道第十天,计算开始日期(第一天)
  5. first_day = today - timedelta(days=9)  # 从今天减去9天得到第一天
  6. days_diff = today - first_day

  7. # 定义缺席日期列表(请根据实际情况修改)
  8. absent_date_list = [date(2025, 8, 3), date(2025, 8, 7)]  # 示例日期
  9. days_absent = len(absent_date_list)

  10. # 计算实际打卡天数:总天数(包括第一天)减去缺席天数
  11. days = days_diff.days + 1 - days_absent
  12. print(f"欢迎{name}!今天是你报道打卡的第{days}天。")
复制代码


关键点解释:
- days_diff.days 表示从 first_day 到 today 的天数差(例如,9天差对应报道第十天)。
- 加 1 是为了包括开始日期(第一天),因为天数差从0开始计数。
- 缺席日期列表应包含 date 对象,确保这些日期在 first_day 和 today 之间,否则需要额外处理。

如果你有具体的开始日期和缺席日期,请替换示例中的值。这样代码就能正确运行了!继续努力,鱼油!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-4-10 18:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表