题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝每天都锻炼身体。

正常情况下,小蓝每天跑 11 千米。如果某天是周一或者月初(11 日),为了激励自己,小蓝要跑 22 千米。如果同时是周一或月初,小蓝也是跑 22 千米。

小蓝跑步已经坚持了很长时间,从 20002000 年 11 月 11 日周六(含)到 20202020 年 1010 月 11 日周四(含)。请问这段时间小蓝总共跑步多少千米

import datetime

sta = datetime.date(2000, 1, 1) # 该函数构造类型为datetime.date(year,month,day)
end = datetime.date(2020, 10, 1)
kl = 0
while end >= sta:
if sta.day == 1 or sta.weekday() == 0: # date.weekday()返回该日期是一周中的第几天,星期一返回0,星期二返回1等等
kl += 2
else:
kl += 1
sta += datetime.timedelta(days=1) # 从开始日期每次加一天一直到结束
print(kl)

点击并拖拽以移动

解题思路:

本题最主要的知识点是datetime库的了解及使用

它是一个日期类由年月日组成,datetime.date(year,month,day)需要输入规定的日期

日期也是可以相加的入datetime.timedelta(days=1)就代表的是一天,可以用开始的日期加上它,那么开始的日期就会向后加一天,要注意加好之后它的日期依旧是规范的,即这个月到头了,再加它就会加月份日期从一开始

日期.day可返回那一天的日期,日期.weekday()可返回那一天所对应的是一星期中的哪一天,且若是星期一它返回的是0,星期二返回的是1…..

可参考以下连接: python datetime time 时间模块 - 简书 (jianshu.com)