题解:蓝桥云课 2096 顺子日期
【题目来源】
蓝桥云课:1.顺子日期 - 蓝桥云课
【题目描述】
小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456等。顺子日期指的就是在日期的yyyymmdd表示法中, 存在任意连续的三位数是一个顺子的日期。例如20220123就是一个顺子日期,因为它出现了一个顺子:123;而20221023则不是一个顺子日期,它一个顺子也没有。小明想知道在整个2022年份中,一共有多少个顺子日期?
【代码详解】

ans = 0 # 定义统计结果,初始为0
for i in range(20220101, 20221231+1): # 遍历2022年所有日期
q = i//1000%10 #得到个十百千4个数位的数
b = i//100%10
s = i//10%10
g = i%10
if ((b+1==s and s+1==g) or (q+1==b and b+1==s)) and s*10+g<=31: # 千百十是顺子,或者百十个是顺子,注意个十两位的数不能超过31
ans+=1 # 符合条件的自增1
print(ans) # 打印结果
# 课堂笔记
import datetime
start = datetime.date(2022, 1, 1)
end = datetime.date(2022, 12, 31)
ans = 0
while True:
now = start.strftime("%Y%m%d")
if "012" in now or "123" in now:
ans += 1
start += datetime.timedelta(days=1)
if start>end:
break
print(ans)
【运行结果】
14
浙公网安备 33010602011771号