蓝桥杯-python-常用库归纳

news2024/11/25 6:28:07

目录

日期和时间

datetime模块

date日期类,time时间类,datetime日期时间类

定义date(年,月,日)

data之间的减法

定义时间(时,分,秒)

定义datetime(年,月,日,时,分,秒)

计算日期

计算时间差

例题-lanqiao 611

例题-lanqiao 2096

math库

heapq库

itertools库


日期和时间

datetime模块

from datetime import datetime, timedelta 这行代码是 Python 中的导入语句,用于从 datetime 模块中导入特定的类或函数。

datetime 类:datetime 类是 Python 中处理日期和时间的基本类之一。它允许创建表示特定日期和时间的对象,以及执行各种与日期和时间相关的操作,如格式化、比较、计算等。

timedelta 类:timedelta 类用于表示时间间隔,即两个日期或时间之间的差异。它可以表示以天、小时、分钟、秒等单位的时间差。timedelta 类通常与 datetime 类一起使用,用于在日期和时间上执行加法或减法运算。

date日期类,time时间类,datetime日期时间类

定义date(年,月,日)
import datetime
a=datetime.date(2024,3,10)
print(type(a))
print(a)

#<class 'datetime.date'>
#2024-03-10
data之间的减法
import datetime
a=datetime.date(2024,3,10)
b=datetime.date(2024,3,12)
print(type(b-a))
print(b-a)

#<class 'datetime.timedelta'>
#2 days, 0:00:00
定义时间(时,分,秒)
import datetime
a=datetime.time(5,59,59)
print(type(a))
print(a)

#<class 'datetime.time'>
#05:59:59
定义datetime(年,月,日,时,分,秒)
import datetime
a=datetime.datetime(2024,3,31,20,30,50)
print(a.date())
print(a.time())
print(a)

#2024-03-31
#20:30:50
#2024-03-31 20:30:50
计算日期
import datetime
a=datetime.datetime(2024,3,31,20,30,50)
delta = datetime.timedelta(days=100)
b=a+delta #计算100天后的日期
print(b)
b=a-delta #计算100天前的日期
print(b)

#2024-07-09 20:30:50
#2023-12-22 20:30:50
计算时间差
import datetime
a=datetime.datetime(2024,3,31,20,55,51)
b=datetime.datetime(2022,10,5,20,30,50)
delta=a-b
print(delta) #计算时间差
print(delta.days) #输出时间差的天数
print(delta.seconds) #输出秒数
print(delta.total_seconds())#统一转换成秒

#543 days, 0:25:01
#543
#1501
#46916701.0


例题-lanqiao 611

计算从1901年1月1日到2000年12月31日存在多少个星期1

#利用date数据类型的weekday方法判断是否为周一

#利用timedelta不断增加1天

解析:
 

首先,导入datetime模块,然后定义两个日期对象start和end,分别表示起始日期和结束日期。接着,定义一个变量ans用于存储结果。

接下来,使用while循环遍历从start到end的每一天。在循环内部,使用weekday()方法判断当前日期是否为周一(weekday()返回值为0表示周一),如果是,则将ans加1。然后,使用timedelta对象将start日期加1天,继续下一次循环。

最后,循环结束后,打印ans的值,即1901年1月1日至2000年12月31日期间,每周一的总数。

import datetime
start=datetime.date(1901,1,1)
end=datetime.date(2000,12,31)
ans=0
while start <= end:
    if start.weekday()==0:
        ans+=1
    start+=datetime.timedelta(days=1)
print(ans)

例题-lanqiao 2096

小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456等

顺子日期指的就是在日期的yyyymmdd 表示法中,存在任意连续的三位数是一个顺子的日期。

例如20220123 就是一个顺子日期,因为它出现了一个顺子:123;而20221023 则不是一个顺子日期,它一个顺子也没有。

小明想知道在整个2022年份中,一共有多少个顺子日期

分析:

首先,导入datetime模块,然后定义两个日期对象start和end,分别表示起始日期和结束日期。接着,定义一个列表m,包含了需要查找的数字序列。再定义一个变量ans用于存储结果。

接下来,使用while循环遍历从start到end的每一天。在循环内部,使用strftime()方法将当前日期转换为字符串格式,并赋值给now_date。然后,使用for循环遍历列表m中的每个元素x,判断x是否在now_date中。如果存在,则将ans加1,并跳出当前循环。最后,将start日期加1天,继续下一次循环。

最后,循环结束后,打印ans的值,即2022年1月1日至2022年12月31日期间,日期中包含数字序列'012'、'123'、'234'、'345'、'456'、'567'、'678'或'789'的天数。

import datetime
start=datetime.date(2022,1,1)
end=datetime.date(2022,12,31)
m=['012','123','234','345','456','567','678','789']
ans=0
while start <= end:
    now_date=start.strftime("%Y%m%d")
    for x in m:
        if x in now_date:
            ans+=1
            break
        start+=datetime.timedelta(days=1)
print(ans)



math库




heapq库

Python的heapq模块提供了堆数据结构的实现,堆是一种特殊的树形数据结构,每个父节点的值都小于或等于其子节点的值。这个模块提供了一些函数,如heappush、heappop等,可以用来操作堆。

常规使用示例:

import heapq

# 创建一个空堆
heap = []

# 向堆中添加元素
heapq.heappush(heap, 3)
heapq.heappush(heap, 1)
heapq.heappush(heap, 5)
heapq.heappush(heap, 2)

# 输出堆中的元素
print(heap)
# 输出:[1, 2, 5, 3]

# 从堆中弹出最小元素
min_element = heapq.heappop(heap)
print(min_element)
# 输出:1

# 从堆中弹出最小元素并添加元素7
heapq.heapreplace(heap,7)

# 输出堆中的元素
print(heap)
# 输出:[3, 7, 5]



itertools库

Python的itertools模块提供了许多用于创建有效循环迭代器的函数,这些迭代器可以用于处理数据流、生成组合和排列等。这个模块有很多有用的函数,如cycle、permutations、combinations(循环,排列,组合)等。

import itertools

# 创建一个无限循环的迭代器
counter = itertools.count(start=1, step=2)
print(next(counter))
print(next(counter))
print(next(counter))
# 输出:1 3 5

# 创建一个循环迭代器
cycler = itertools.cycle('AB')
print(next(cycler))
print(next(cycler))
print(next(cycler))
print(next(cycler))
# 输出:A B A B

# 生成一个列表的所有排列
permutations = list(itertools.permutations([1, 2, 3]))
print(permutations)
# 输出:[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]

# 生成一个列表的所有组合
combinations = list(itertools.combinations([1, 2, 3], 2))
print(combinations)
# 输出:[(1, 2), (1, 3), (2, 3)]

#以上内容仅为本人知识归纳

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1559267.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文献学习-23-MRM:用于遗传学医学图像预训练的掩码关系建模

MRM: Masked Relation Modeling for Medical Image Pre-Training with Genetics Authors: Qiushi Yang, Wuyang Li, Baopu Li, Yixuan Yuan Source: ICCV 2023 Abstract: 关于自动多模态医疗诊断的 ODERN 深度学习技术依赖于大量的专家注释&#xff0c;这既耗时又令人望而却…

DeepL Pro3.1 下载地址及安装教程

DeepL Pro是DeepL公司推出的专业翻译服务。DeepL是一家专注于机器翻译和自然语言处理技术的公司&#xff0c;其翻译引擎被认为在质量和准确性方面表现优秀.DeepL Pro提供了一系列高级功能和服务&#xff0c;以满足专业用户的翻译需求。其中包括&#xff1a; 高质量翻译&#xf…

Python 常用内置库 time库、random库、turtle库

文章目录 一、time库二、random库三、turtle库1. 绘制正方形2. 使用海龟对象绘制六边形3. 绘制多个起点相同大小不同起点的五角星4. 绘制多个图形和添加文字 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、time库 time是最基础的时间处理库&#…

系统慢查询的思考

系统慢查询的思考 在一个系统中发现慢查询的功能或很卡的现象。你是怎么思考的&#xff1f;从哪几个方面去思考&#xff1f;会用什么工具&#xff1f; 一个系统使用了几年后都可能会出现这样的问题。原因可能有以下几点。 数据量的增加。系统中平时的使用中数据量是有一个累…

HTML块级元素和内联元素(头部和布局)

目录 1.HTML块级和内联标签&#xff1a; 1.块级元素&#xff1a; 2.内联元素: 3.元素嵌套&#xff1a; 4.元素转换&#xff1a; 示例如下: 2.内联框架&#xff1a; 前言&#xff1a; 示例如下: 3.布局&#xff1a; 4.头部标签&#xff1a; 前言&#xff1a; 说明&…

GT收发器PHY层设计(3)PHY层设计

文章目录 前言一、设计框图二、PHY层基本传输协议三、PHY_TX模块3.1、模块接口3.2、组帧状态机描述3.3、数据大小端问题3.4、字节对齐 四、PHY_RX模块4.1、模块接口4.2、大小端转换4.3、起始位4.4、结束位4.5、axis数据流恢复 五、LFSR伪随机码六、链路空闲时期处理 前言 上一…

windows平台虚拟机安装

windows平台虚拟机安装 1. 安装VMwareWorkstationPro 1.1 软件下载 官网下载 官网 百度网盘下载 版本 VMwareWorkstationPro16 链接&#xff1a;https://pan.baidu.com/s/1LidMxoM9e4a4CANixyRoyg?pwd1157 提取码&#xff1a;1157 1.2 软件安装 软件安装注意事项 软件…

类的新功能

类的新功能 默认成员函数 在C11之前&#xff0c;一个类中有如下六个默认成员函数&#xff1a; 构造函数。拷贝构造函数赋值重载析构函数取地址重载函数const取地址函数 其中前四个默认成员函数最重要&#xff0c;后面两个默认成员函数一般不会用到&#xff0c;这里默认成员…

Js之运算符与表达式

运算符&#xff1a;也叫操作符&#xff0c;是一种符号。通过运算符可以对一个或多个值进行运算&#xff0c;并获取运算结果。 表达式&#xff1a;由数字、运算符、变量的组合&#xff08;组成的式子&#xff09;。 表达式最终都会有一个运算结果&#xff0c;我们将这个结果称…

从输入url到页面展示的过程

唠唠叨&#xff1a;我不想误人子弟&#xff0c;我这篇算是搬运工&#xff0c;加上自己的理解做点总结&#xff0c;所以还请大家科学上网去看这篇&#xff1a;https://aws.amazon.com/cn/blogs/mobile/what-happens-when-you-type-a-url-into-your-browser/ 是这六个步骤&#…

springboot论坛管理系统

论坛管理系统 摘要&#xff1a; 在社会快速发展的影响下&#xff0c;论坛管理系统继续发展&#xff0c;使论坛管理系统的管理和运营比过去十年更加信息化。依照这一现实为基础&#xff0c;设计一个快捷而又方便的网上论坛管理系统是一项十分重要并且有价值的事情。对于传统的论…

如何提升公众号搜索量?分享内部运营的5步优化技术!

最近一直有自媒体同行朋友在写关于公众号的内容&#xff0c;很多都说公众号现在没得玩了。其实&#xff0c;在运营自媒体上面&#xff0c;思维不通&#xff0c;技术不到位&#xff0c;哪个平台都不适合你玩。 想要在自媒体上面运营变现&#xff0c;一定不要先点击广告变现&…

【Linux】详解文件系统以及周边知识

一、磁盘的基本知识 磁盘中可以被划分成一个一个的环&#xff0c;每个环都是一个磁道。每个磁道又可以被均分成一个一个的扇区&#xff0c;扇区是磁盘IO的基本单位&#xff08;想要修改扇区中的一个比特位就必须把该扇区的全部比特位都加载到内存中&#xff09;。磁盘中的盘面&…

「MySQL」索引事务

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;数据库 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 索引&事务 &#x1f349;索引&#x1f34c;特点&#x1f34c;通过 SQL 操作索引&#x1f34c;底层数据结构 &#x1f349;事务&…

张颂文|永远保持好奇心的人,是永远进步的人。

哈喽,你好啊,我是雷工! 今天看到了张颂文的一段演讲,提到了他因为好奇心而被改变的人生。 如果想把单一和枯燥的工作做的更好,张颂文的办法是像一个孩子一样保持好奇心,不停地提出一些有趣的问题。 在5年的导游经历中,对每次游览的地点都像初次游览般保持好奇心,正因为…

C++从入门到精通——引用()

C的引用 前言一、C引用概念二、引用特性交换指针引用 三、常引用保证值不变权限的方法权限的放大权限的缩小权限的平移类型转换临时变量 四、引用的使用场景1. 做参数2. 做返回值 五、传值、传引用效率比较值和引用的作为返回值类型的性能比较 六、引用和指针的区别引用和指针的…

工单系统的作用与优势!为什么企业需要它?

什么是工单系统&#xff1f;工单系统作为企业服务类工具&#xff0c;能在管理上和业务上为企业带来什么帮助吗? 什么是工单系统 ZohoDesk工单系统是一种用于管理和处理任务或请求的软件工具。它提供了一个集中的平台&#xff0c;使组织能够跟踪、分配和解决各种问题、请求和…

AWS创建IAM用户,以及通过IAM用户登录

基本概念&#xff1a; IAM Identity Center&#xff08;AWS SSO&#xff09; 跨账户访问&#xff1a;IAM Identity Center允许用户使用他们自己的单一登录凭证来访问多个AWS账户和应用程序。这意味着你可以拥有一个账户和密码&#xff0c;通过IAM Identity Center的用户门户&…

前端虚拟滚动列表 vue虚拟列表

前端虚拟滚动列表 在大型的企业级项目中经常要渲染大量的数据&#xff0c;这种长列表是一个很普遍的场景&#xff0c;当列表内容越来越多就会导致页面滑动卡顿、白屏、数据渲染较慢的问题&#xff1b;大数据量列表性能优化&#xff0c;减少真实dom的渲染 看图&#xff1a;绿色…

攻防世界——catfly

这道题我觉得很难&#xff0c;我当初刷题看见这道题&#xff0c;是唯一一道直接跳过的&#xff0c;现在掌握了一点知识才回来重新看 这道题在linux运行下是这样&#xff0c;我首先猜测是和下面这个time有关&#xff0c;判断达到一定次数就会给我flag 但是我找了好久都没找到那…