算法创作|2020蓝桥杯真题-跑步锻炼
问题描述小蓝每天都锻炼身体。正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?解决方案了解题意,对问题进行划分,特殊条件(周一和月初跑2千米),其他日子均跑1千米;日期范围是2000年1月1日到2020年10月1日。细化条件,条件中带有周一和月初,那我们就要引用datetime。from datetime import这句代码是,添加引用datetime模块的意思 引用了模块就可以使用这个模块中的函数、数据类型、类等。然后就是循环程序,通过日期,可以筛选出跑1千米和2千米的日子,然后将全部值进行求和。接下来展示完整的代码。from datetime import *length = 0day = timedelta(days = 1)x1 = date(2000,1,1)x2 = date(2020,10,1)while x1 <= x2:if x1.day==1 or x1.weekday()==0:length += 2else:length += 1x1 += dayprint(length)我们在程序中运行一下此代码。
图2.1结语本题目主要是通过日期来确定每天跑的路程求和运算,问题最容易出错的就是条件循环和引用datetime。主编:欧洋作者:宁衍、岳进、赵小小
赞 (0)