蓝桥杯-含2天数(python)

1.题目描述

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

小蓝特别喜欢 2,今年是公元 2020年,他特别高兴,因为每天日历上都可以看到 2。

如果日历中只显示年月日,请问从公元 1900 年 1月 1日到公元 9999 年 12 月 31 日,一共有多少天日历上包含 2。即有多少天中年月日的数位中包含数字 2。

2.代码

count=0
for y in range(1900,10000):
  if (y%4==0 and y%100!=0) or y%400==0:
    if str(y).count('2')!=0:
      count+=366
    else:
      count+=180
  else:
    if str(y).count('2')!=0:
      count+=365
    else:
      count+=179
print(count)


# print(1994240)

3.具体解释

  1. 首先,代码创建了一个变量count,并将其初始化为0。

  2. 接着,代码执行一个for循环,将变量y的值从1900逐步增加到9999。

  3. 在循环内部,代码检查变量y是否是闰年。如果是闰年,则判断该年份是否包含数字2。如果包含数字2,则将该年份的天数加上366,否则加上180。如果不是闰年,则判断该年份是否包含数字2。如果包含数字2,则将该年份的天数加上365,否则加上179。

  4. 最后,循环结束后,代码打印出总共的天数,即为count的值。

猜你喜欢

转载自blog.csdn.net/m0_62428181/article/details/129877161