蓝桥杯训练-闰年判断(day2)

一、题目

给定一个年份,判断是否为闰年

输入:整数y表示当前的年份

输出:若给定年份是闰年输出yes,否则输出no.

二、例子

输入:

2022

输出:

no

输入:

2016

输出:

yes

三、解析

闰年判断方法:

1.二月最后一天为二十九日的年份是闰年

2.普通年能被4整除不能被100整除的是闰年;世纪年能被400整除的是闰年

四、涉及的知识点

日期时间(datetime)库:python中操作时间和日期。

datetime标准库的四个类:

datetime.date :只有年,月,日

datetime.time :没有年,月,日;只有小时,分钟,秒

datetime.datetime:年,月,日,小时,分钟,秒

datetime.timedelta:对上面三种类型运算

  • datetime.date

1.生成当前的年,月,日  :  datetime.date.today()

例:

import datetime
date = datetime.date.today()
print(date,type(date))

运行结果:

2024-01-22 <class 'datetime.date'>

2. 生成自定义日期: datetime.date(年,月,日)

例:

import datetime
date = datetime.date(2023,1,1)
print(date,type(date))

运行结果:

2023-01-01 <class 'datetime.date'>

3.生成对应的年,月,日:print(date.year)

例:

import datetime
date = datetime.date(2023,1,1)
print(date.year)
print(date.month)
print(date.day)

运行结果:

2023
1
1

4.替换日期:print(data.replace()) 

例:

import datetime
date = datetime.date(2023,1,1)
print(date.replace(2023,1,2))

运行结果:

2023-01-02

5.从0001-01-01到现在的天数: print(date.toordinal())

 例:

import datetime
date = datetime.date(2023,1,1)
print(date.toordinal())

运行结果:

738521

 6.定义日期格式: print(date.strftime("%Y年%m月%d日"))

例:

import datetime
date = datetime.date(2023,1,1)
print(date.strftime("%Y年%m月%d日"))

运行结果:

2023年01月01日

  •  datetime.date

1.生成时间: datetime.time(小时,分钟,秒,微秒,时区)

例:

import datetime
time = datetime.time(15,10,45,888888)
print(time)

运行结果:

15:10:45.888888

2.生成对应的小时,分钟,秒:print(time.hour)

例:

import datetime
time = datetime.time(15,10,45,888888)
print(time.hour)
print(time.minute)
print(time.microsecond)

运行结果:

15
10
888888

3.定义时间格式: print(date.strftime("%H时%M分%S秒 %f微秒"))

例:

import datetime
time = datetime.time(15,10,45,888888)
print(time.strftime("%H时%M分%S秒 %f微秒"))

运行结果:

15时10分45秒 888888微秒

  •  datetime.datetime

1.生成当前的日期时间:  datetime.datetime.today();datetime.datetime.now(tz=None)[时区]  

例:

import datetime
dt = datetime.datetime.today()
print(dt)
dt1 =datetime.datetime.now()
print(dt1)

运行结果:

2024-01-22 19:03:13.270501
2024-01-22 19:03:13.270501 

2.自定义日期时间:datetime.datetime(year,month,day,hour=0,minute=0,second=0,microsecond=0,tzinfo=None)

注:必须值:年,月,日    非必须值:小时,分钟,秒,微秒,时区

例:

import datetime
dt = datetime.datetime(2020,5,14)
print(dt)

运行结果:

2020-05-14 00:00:00

3.生成对应的年,月,日,小时,分钟,秒:print(dt.year)

例:

import datetime
dt = datetime.datetime.today()
print(dt.year)
print(dt.month)
print(dt.day)
print(dt.hour)
print(dt.minute)
print(dt.microsecond)

运行结果:

2024
1
22
19
30
612122
  • datetime.tiemdelta

1.生成时间差:datetime.timedelta(days=10)

例:

import datetime
td = datetime.timedelta(days=10,hours=5)
print(td)
td = datetime.timedelta(days=-5)
print(td)
td = datetime.timedelta(days=-5,hours=-8)
print(td)
td = datetime.timedelta(hours=75)
print(td)
td = datetime.timedelta(weeks=2)
print(td)

运行结果:

10 days, 5:00:00
-5 days, 0:00:00
-6 days, 16:00:00
3 days, 3:00:00
14 days, 0:00:00
2.计算目标日期:

import datetime
dt = datetime.datetime.today()
print("现在是{}".format(dt.strftime('%Y年%m月%d日 %H时%M分%S秒')))
delta = datetime.timedelta(days=10)
target = dt + delta
print("十天后是{}".format(target.strftime('%Y年%m月%d日 %H时%M分%S秒')))

运行结果:

现在是2024年01月22日 21时39分35秒
十天后是2024年02月01日 21时39分35秒

3.计算时间差:

import datetime
dt1 = datetime.datetime.today()
dt2 = datetime.datetime.utcnow()
td = dt1 -dt2
print("我们与utc时间的差是:{:.0f}小时".format(td.seconds/3600))

运行结果:

我们与utc时间的差是:8小时

五、python代码 

法一:

import datetime
year = int(input())
time_delta = datetime.timedelta(days=1)
dt = datetime.date(year=year,month=3,day=1)
res = dt - time_delta
if res.day ==29:
    print('yes')
else:
    print('no')

 运行结果:

2016
yes

2022
no

法二:

years = int(input("请输入查询的年份:"))
if years % 4 == 0 and years % 100 != 0:
    print("yes")
else:
    print("no")

运行结果:

请输入查询的年份:2022
no

 

相关推荐

  1. 训练-闰年判断day2

    2024-01-23 16:56:01       35 阅读
  2. 刷题_day2

    2024-01-23 16:56:01       17 阅读
  3. 训练-时间转换(day15)

    2024-01-23 16:56:01       21 阅读
  4. 试题 算法训练 找数2

    2024-01-23 16:56:01       11 阅读
  5. day2刷题日记

    2024-01-23 16:56:01       20 阅读
  6. day01.

    2024-01-23 16:56:01       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-23 16:56:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-23 16:56:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-23 16:56:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-23 16:56:01       20 阅读

热门阅读

  1. DAY36

    DAY36

    2024-01-23 16:56:01      41 阅读
  2. hbase预分区

    2024-01-23 16:56:01       38 阅读
  3. 22. 离线MC强化学习算法(1)

    2024-01-23 16:56:01       32 阅读
  4. FastApi-异常处理(6)

    2024-01-23 16:56:01       34 阅读
  5. fbx转换bvh python代码

    2024-01-23 16:56:01       39 阅读
  6. 【Docker】Docker学习⑤ - Docker数据管理

    2024-01-23 16:56:01       28 阅读
  7. 数据库建模

    2024-01-23 16:56:01       39 阅读
  8. C# 判断文件路径的后缀是否是某个后缀

    2024-01-23 16:56:01       46 阅读
  9. 怎么调试开关电源?具体方法是什么?

    2024-01-23 16:56:01       37 阅读