第十一届蓝桥杯试题C:跑步锻炼

3.跑步锻炼(10)

  • 周一或1号跑2km(既是周一又是1号跑2km),其余1km,问从2000.1.1(周六)—2020.10.1(周四)共跑多少km?

题解

  • 从开始的那一天一直到结束的那一天,对每一天进行判断是不是周一、1号,然后加上相应的跑步千米数。
  • start.weekday():返回start周几,其中Monday是0,Sunday是6
  • start.day:返回几号
  • datetime.timedelta(days=1):步长
  • 注意:建议使用while循环,处理起来较为简单,for循环写法:for current_date in (start + timedelta(n) for n in range((end - start).days + 1)):
  import datetime
  start = datetime.date(2000,1,1)
  end = datetime.date(2020,10,1)
  days = datetime.timedelta(days=1)
  num = 0
  while end>=start:
      if start.weekday()==0 or start.day==1:
          num+=2
      else:
          num+=1
      start = start+days
  print(num)

导入datetime 库,注意:if 配 or ,时间间隔timedelta 的设置

posted @   Frommoon  阅读(65)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示