2020年第十一届蓝桥杯省赛Python组(真题+解析+代码):跑步锻炼

1 真题

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


2 解析

难度系数:⭐⭐

考察题型:枚举 日期时间

涉及知识点:datetime日期模块

思路分析:

咋一看题目,竟然考日期,心想:芭比Q了!datetime中的常考函数可能全忘光了。

身为小菜鸟的我,自觉地在菜鸟教程里查阅了亿下日期模块QAQ

datetime.datetime(year="",month="",day="")         #传入时间参数,返回时间格式的变量

datetime.timedelta(days="")         #返回参数对应的时间间隔,作用是可以进行时间加减

datetime.weekday()         #判断星期几,注意星期一返回0,星期二返回1,以此类推

直接看函数定义可能看不懂,结合楼下代码一起食用更助于消化哦~

有的小伙伴说,考试的时候不能上网,搜不到函数肿么办?

其实python自带了帮助文档,里面都有函数的详细注释!

具体搜索方法如图所示:

2020年第十一届蓝桥杯省赛Python组(真题+解析+代码):跑步锻炼_第1张图片


3 代码

#跑步锻炼
from datetime import datetime,timedelta    #导入日期库中的日期时间和时间间隔两个模块
distance=0                                 #初始距离置0
start=datetime(2000,1,1)                   #开始时间
end=datetime(2020,10,1)                    #结束时间
delta=timedelta(1)                         #时间间隔
while start<=end:                          #循环遍历每一天
    if start.day==1 or start.weekday()==0: #月初或周一时加两公里
        distance+=2
    else:                                  #其他时间加一公里
        distance+=1
    start+=delta                           #别忘了while循环最后加上间隔
print(distance)                            #输出结果:8879

   我写的是关于蓝桥杯的系列题解,感谢关注我的朋友们,我会持续输出高质量文章   

蓝桥杯python组十一届省赛真题+解析+代码(通俗易懂版)_编程有了思路-CSDN博客小蓝要为一条街的住户制作门牌号。这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。小蓝有一个数字矩阵,里面只包含数字 0 和 2。小蓝每天都锻炼身体。正常情况下,小蓝每天跑 1 千米。如下图所示,小明用从1开始的正整数“蛇形”填充无限大的矩阵。https://blog.csdn.net/m0_55148406/article/details/122863264?spm=1001.2014.3001.5502https://blog.csdn.net/m0_55148406/article/details/122863264?spm=1001.2014.3001.5502

你可能感兴趣的:(备战蓝桥杯,日期时间,蓝桥杯,python,算法)