顺子日期 蓝桥杯

问题描述

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

小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456 等。顺子日期指的就是在日期的 yyyymmdd 表示法中,存在任意连续的三位数是一个顺子的日期。例如 20220123 就是一个顺子日期,因为它出现了一个顺子:123; 而 20221023 则不是一个顺子日期,它一个顺子也没有。小明想知道在整个 2022 年份中,一共有多少个顺子日期?

from datetime import * #导入datetime库
day1 = datetime(2022,1,1)#设置第一天的日期
res = 0#用来记录顺子日期的个数
for i in range(1,366):
  s = "%2d%02d%02d"%(day1.year,day1.month,day1.day)#转换成字符串
  day1+=timedelta(days=1)#timedelta有三种:days,seconds。microseconds
  if '012' in s or '123' in s or '234' in s or '345' in s or '456' in s or '567' in s or '678' in s or '789' in s:
    res+=1
print(res)

涉及到的python知识:

%d是普通的输出了整形数

%2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格。

%02d,和%2d差不多,只不过左边补0

%-2d将数字按宽度为2,采用左对齐方式输出,若数据位数不到2位,则右边补空格

Python timedelta()函数存在于datetime库中,该函数通常用于计算日期差,也可以用于Python中的日期操作。这是执行日期操作的最简单方法之一,主要用于做时间加减。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小梁今天敲代码了吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值