蓝桥杯真题小蓝锻炼

题目描述

小蓝每天都锻炼身体。正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?

算法描述

题目很简单,就是每月1号,和每周第一天,遍历日期可以用到datetime这个内置库。只要能熟练运用这个库,这道题就能轻松解决。

首先创建两个日期,一个是初始日期,一个是结束日期,因为range函数是半开半闭,所以结束日期要比要求的大一天,用结束日期-初始日期就能得到之间相差的天数。也就是遍历次数。再用初始天数,加上每次遍历的天数,就可以实现遍历日期。然后用.strftime()方法可以访问这一天的各种参数。用if判断,并记录就能完成这道题了。

import datetime
 
 
 def date_range(start_date, end_date):
     for n in range(int((end_date -  start_date).days)):
         yield start_date +  datetime.timedelta(n)
 
 
 start = datetime.datetime(2000, 1, 1, 0, 0, 0)
 end = datetime.


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部