题目
标签:填空题
2020
省赛
每天跑1km,逢周一或月初每天跑2km,若既是周一又是月初也只跑2km。计算从2000-1-1(含)到2020-10-1(含)共跑了多少千米。
代码
import datetime
start = datetime.date(2000, 1, 1)
end = datetime.date(2020, 10, 1)
days = datetime.timedelta(days=1)
ans = 0
while end >= start:
if start.day == 1 or start.weekday() == 0:
ans += 2
else:
ans += 1
start += days
print(ans)
笔记
datetime.date(y, m, d)
可将日期转换为 datetime 对象。
print(datetime.date(2000, 1, 1))
# 输出结果
2000-01-01
datetime.timedelta()
表示时间间隔,该对象可用于 datetime 对象的和差运算(具体使用方法请查阅参考资料)。
start = datetime.date(2000, 1, 1)
delta = datetime.timedelta(days=2)
print(start - delta)
# 输出结果
1999-12-30
date.day
返回该日期中的日; date.weekday()
返回该日期是星期几,如果是星期一,返回 0 ,以此类推。