Python 之 Pandas 时间函数 time 、datetime 模块和时间处理基础
文章目录
- 一、time 模块
- 1、时间格式转换图
- 2. struct_time 元组元素结构
- 3. format time 结构化表示
- 二、datetime 模块
- 1. date类
- 2. 方法和属性
- 3. datetime 类
- 三、timedelta 类的时间加减
- 四、时间处理基础
- Python 中提供了对时间日期的多种多样的处理方式,主要是在 time 和 datetime 这两个模块里。
一、time 模块
- time 模块不牵扯时区的问题,便于计算。
- (1) timestamp 时间戳,时间戳表示的是从 1970 年 1 月 1 日 00:00:00 开始按秒计算的偏移量。
- (2) struct_time 时间元组,共有九个元素组。
- (3) format time 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。
1、时间格式转换图
- 主要 time 生成方法和 time 格式转换方法实例如下:
- 首先,我们导入 time 模块,便于我们后续的操作。
import time
- 然后,我们生成 timestamp ,他是一个浮点型数据。
time.time()
#1676978808.2162082
- 将其转化为整型数据。
int(time.time())
#1676978809
- 我们可以知道一个程序消耗的时间,通过设置程序开始时间和程序结束时间,中间执行一个循环语句,这里以累加到 10000 为例。
start_time = time.time()
s = ""
for i in range(10000):
s += str(i)
end_time = time.time()
print("程序消耗时间=",end_time-start_time)
#程序消耗时间= 0.0039615631103515625
- 我们也可以通过 time 模块调用本地时间,通过生成 struct_time 完成。
my_time = time.localtime()
print(my_time)
print(my_time.tm_year)
print(my_time.tm_mon)
print(my_time.tm_mday)
#time.struct_time(tm_year=2023, tm_mon=2, tm_mday=21, tm_hour=19, tm_min=26, tm_sec=58, #tm_wday=1, tm_yday=52, tm_isdst=0)
#2023
#2
#21
- 我们可以将 timsstamp 转化为 struct_time。
time.localtime(1650177058)
#time.struct_time(tm_year=2022, tm_mon=4, tm_mday=17, tm_hour=14, tm_min=30, tm_sec=58, #tm_wday=6, tm_yday=107, tm_isdst=0)
- 可以将格式化字符串输入到 struct_time。
time.strptime('2011-05-05 16:37:06', '%Y-%m-%d %X')
#time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=16, tm_min=37, tm_sec=6, #tm_wday=3, tm_yday=125, tm_isdst=-1)
- 我们也可以将格式化字符串时间反向转变为秒钟数。
time.mktime(time.strptime('2011-05-05 16:37:06', '%Y-%m-%d %X'))
#1304584626.0
- 我们可以生成 format_time,产生满足我们格式要求的时间。
- 示例 1:
#struct_time to format_time time.strftime("%Y-%m-%d %X")
time.strftime("%Y-%m-%d %X",time.localtime())
#time.strftime("%Y-%m-%d %X",time.localtime())
#'2023-02-21 19:27:05' #生成format_time
- 示例 2:
#struct_time to format_time
time.strftime("%Y-%m-%d")
#time.strftime("%Y-%m-%d %X",time.localtime())
#'2023-02-21'
- 示例 3:
#struct_time to format_time
time.strftime("%m-%d-%Y")
#time.strftime("%Y-%m-%d %X",time.localtime())
#'02-21-2023'
2. struct_time 元组元素结构
- 其具体元素结构可见下述表格。
属性 | 值 |
---|---|
tm_year(年) | xxxx 年,比如 2011 |
tm_mon(月) | 1 - 12 |
tm_mday(日) | 1 - 31 |
tm_hour(时) | 0 - 23 |
tm_min(分) | 0 - 59 |
tm_sec(秒) | 0 - 61 |
tm_wday(weekday) | 0 - 6(0表示周日) |
tm_yday(一年中的第几天) | 1 - 366 |
tm_isdst(是否是夏令时) | 默认为-1 |
- 其具体如下作用:
- (1) 取得时间戳/时间格式的字符串中对应的年/月/日等信息。
- (2) 作为时间戳和字符串时间之间的桥梁。
- 具体可见如下示例:
time_stuct = time.strptime('2011-05-07 16:37:06', '%Y-%m-%d %X')
print(time_stuct.tm_year)
print(time_stuct.tm_mon)
print(time_stuct.tm_mday)
print(time_stuct.tm_hour)
print(time_stuct.tm_min)
my = 'aaa'
'%s'% my
my_int = 1
'%d'% my_int
"我们在{}工作".format('家里')
addr = "家里"
f"我们在{addr}工作"
#2011
#5
#7
#16
#37
#'我们在家里工作'
3. format time 结构化表示
- 其具体含义可见下述表格。
属性 | 含义 |
---|---|
%Y -年 | [0001,…,2018,2019,…,9999] |
%m -月 | [01,02,…,11,12] |
%d -天 | [01,02,…,30,31] |
%M -分钟 | [00,01,…,58,59] |
%S -秒 | [00,01,…,58,61] |
%X | 本地相应时间 |
%y | 去掉世纪的年份(00 - 99) |
- 常见的结构化时间组合有如下几种:
- 示例 1:
time.strftime("%Y-%m-%d %X")
#'2023-02-21 20:55:40'
- 示例 2:
time.strftime("%Y-%m-%d")
#'2023-02-21'
- 示例 3:
time.strftime("%m")
#'02'
- 我们可以通过 time 运算获取我们想要的时间点,并按
%Y-%m-%d %X
的形式表达出来。
import time
t1 = time.time()
t2=t1+24*60*60
time.strftime("%Y-%m-%d %X",time.localtime(t2))
#'2023-02-22 21:02:38'
- 或者通过 time 进行暂停操作,例如火箭发射,我们在循环结束后暂停 1s,然后进行下一个语句。
# 倒计时
for i in range(5):print('\r',' %s 秒!' % (5-i), end='')# 暂停1s后运行 time.sleep(1)
print('\r',"发射!!!!")
#发射!!!!
二、datetime 模块
- datatime 模块重新封装了time模块,提供更多接口,提供的类有:date,time,datetime、timedelta,tzinfo 等。
1. date类
- 其语法模板如下:
datetime.date(year, month, day)
- 有静态方法和字段两种方法。
- date.today():返回一个表示当前本地日期的date对象。
- date.fromtimestamp(timestamp):根据给定的时间戮,返回一个date对象。
- 具体可见如下示例:
- 示例 1:
from datetime import date
import time
print('date.today():', date.today())
print('date.fromtimestamp():', date.fromtimestamp(time.time()))
#date.today(): 2023-02-21
#date.fromtimestamp(): 2023-02-21
- 示例 2:
from datetime import date
print(type(date.fromtimestamp(1650177058)))
print(date.fromtimestamp(1650177058))
#<class 'datetime.date'>
#2022-04-17
2. 方法和属性
- 可以通过
d1 = date(2011,06,03)
生成 date 对象 。 - 其具体含义可见下述表格。
属性 | 含义 |
---|---|
d1.year | 年 |
d1.month | 月 |
d.day | 日 |
d1.replace(year, month, day) | 生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变) |
d1.timetuple() | 返回日期对应的time.struct_time对象 |
d1.weekday() | 返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推 |
d1.isoweekday() | 返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推 |
d1.isoformat() | 返回格式如’YYYY-MM-DD’的字符串 |
d1.strftime(fmt) | 和 time 模块 forma t相同 |
- 具体可见如下示例:
- 示例 1:我们将 day 参数指定为 1。
now = date.today()
now
print(now.replace(day=1))
#2023-02-01
- 示例 2:同示例 1,但是换了一种函数写法。
date.today().replace(day=1)
#datetime.date(2023, 2, 1)
- 示例 3:直接使用 now 函数生成当前日期。
now
#datetime.date(2023, 2, 21)
- 示例 4:直接使用 now.isoformat() 函数生成
YYYY-MM-DD
格式的当前日期。
now.isoformat()
#'2023-02-21'
- 示例 5:直接使用 now.isoweekday() 函数生成周几,返回对应的数字。
now.isoweekday()
#2
- 示例 6:使用 now.strftime() 函数自定义输出格式。
#'2022.04.18' 自定义输出格式
now.strftime('%Y.%m.%d')
#'2023.02.21'
- 示例 7:
now = date(2021, 10, 26)
print(now.year,now.month,now.day)
tomorrow = now.replace(day = 1)
print('now:', now, ', 当月第一天:', tomorrow)
print('timetuple():', now.timetuple())
print('weekday():', now.weekday())
print('isoweekday():', now.isoweekday())
print('isoformat():', now.isoformat())
print('strftime():', now.strftime("%Y.%m.%d"))
#2021 10 26
#now: 2021-10-26 , 当月第一天: 2021-10-01
#timetuple(): time.struct_time(tm_year=2021, tm_mon=10, tm_mday=26, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=299, tm_isdst=-1)
#weekday(): 1
#isoweekday(): 2
#isoformat(): 2021-10-26
#strftime(): 2021.10.26
3. datetime 类
- datetime 相当于 date 和 time 结合起来。
- 其语法模板如下:
datetime.datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )
- datetime.today():返回一个表示当前本地时间的 datetime 对象。
- datetime.now([tz]):返回一个表示当前本地时间的 datetime 对象,如果提供了参数 tz,则获取 tz 参数所指时区的本地时间。
- datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个 datetime 对象,参数 tz 指定时区信息。
- datetime.strptime(date_string, format):将格式字符串转换为 datetime 对象。
- 我们可以将 datetime 转化为指定格式的字符串。
from datetime import datetime
now = datetime.now()
print(type(now))
print(now.strftime('%Y-%m-%d %X'))
print(now.strftime('%Y-%m-%d %H:%M'))
#<class 'datetime.datetime'>
#2023-02-21 21:45:25
#2023-02-21 21:45
- 对于 2021-11-25 10:23 这类的字符串,我们可以使用 strptime 将其转化为 datetime。
- 需要注意的是,将字符串转化为 datetime 数据类型,格式需要统一。
my_str = '2021-11-10 10:23'
print(datetime.strptime(my_str,'%Y-%m-%d %H:%M'))
my_str = '10/11/2021 10:23'
datetime.strptime(my_str,'%d/%m/%Y %H:%M')
#2021-11-10 10:23:00
#datetime.datetime(2021, 11, 10, 10, 23)
- 汇总一下,见下方例子。
from datetime import *
import time
now = datetime.now()
print('today():', datetime.today())
print('now():', datetime.now())
print('fromtimestamp(tmstmp):', datetime.fromtimestamp(time.time()))
print('datetime.strptime(date_string, format):',datetime.strptime('2022-03-21', "%Y-%m-%d"))
#today(): 2023-02-21 21:45:28.141748
#now(): 2023-02-21 21:45:28.141748
#fromtimestamp(tmstmp): 2023-02-21 21:45:28.141748
#datetime.strptime(date_string, format): 2022-03-21 00:00:00
三、timedelta 类的时间加减
- 使用 timedelta 可以很方便的在日期上做天 days,小时 hour,分钟 minute,秒 second,毫秒 millisecond,微秒 microsecond 的时间计算,如果要计算月份则需要另外的办法。
- 具体可见如下示例。
- 示例 1(加上 -1 和减 1 是相同的):
from datetime import datetime
from datetime import timedelta
dt = datetime.now()
#日期减一天
dt_1 = dt + timedelta(days=-1) #昨天
dt_11 = dt - timedelta(days=1) #昨天
dt3 = dt + timedelta(days=1) #明天
print("dt3:",dt_1)
print("dt_11:",dt_11)
print("dt3:",dt3)
#dt3: 2023-02-20 22:11:28.388926
#dt_11: 2023-02-20 22:11:28.388926
#dt3: 2023-02-22 22:11:28.388926
- 示例 2(可以使用 s.total_seconds 返回在该时间实例的给定持续时间内覆盖的总秒数 ):
# 明天的datetime - 昨天的datetime
s= dt3 - dt_1
print(s.days)
print(s.total_seconds())
#2
#172800.0
- 示例 3:
delta_obj = dt3-dt
print(type(delta_obj),delta_obj)#<type 'datetime.timedelta'> 1 day, 0:00:00
# total_seconds():返回在该时间实例的给定持续时间内覆盖的总秒数
print(delta_obj.days ,delta_obj.total_seconds())#1 86400.0
#<class 'datetime.timedelta'> 1 day, 0:00:00
#1 86400.0
四、时间处理基础
- Pandas 提供了四种类型的生成日期时间的对象:日期时间、时间增量、时间跨度、日期偏移量。
- (1) 日期时间(Date Times):具有时区支持的特定日期和时间。与 Python 标准库中的 datetime.datetime 类似。如 2020 年 12 月 6 日 13 点 37 分 50 秒.
- (2) 时间增量(Time Deltas):绝对持续时间,用于在指定时间点基础上增加指定的增量,如在某年月日的基础上增加 2 天、增加 2 个月、减少 4 小时等,最后产生一个新的时间点。
- (3) 时间跨度(Time Span):由时间点及其相关周期定义的时间跨度,如连续产生一年四个季度的时间序列。
- (4) 日期偏移(Date Offsets):以日历计算的相对持续时间,表示时间间隔,两个时间点之间的长度,如日、周、月、季度、年。
概念 | 标量类 | 数组类 | Pandas 数据类型 | 主要建立方法 |
---|---|---|---|---|
日期时间(Date Times) | Timesstamp 时间戳 | DatetimeIndex 时间索引 | datetime64[ns]、datetime64[ns,tz] | to datetime()、date_range() |
时间增量(Time Deltas) | Timedelta 时间增量 | Timedeltalndex 时间增量索引 | timedelta[ns] | to timedelta()、timedelta range() |
时间跨度(Time Span) | Period 时间周期 | PeriodIndex 周期索引 | period[freq] | Period()、period_range() |
日期偏移(Date Offsets) | DateOffset | None | None | DateOffset() |
- 一般情况下,时间序列主要是
Series
或DataFrame
的时间型索引,可以用时间元素进行操控。
相关文章:

Python 之 Pandas 时间函数 time 、datetime 模块和时间处理基础
文章目录一、time 模块1、时间格式转换图2. struct_time 元组元素结构3. format time 结构化表示二、datetime 模块1. date类2. 方法和属性3. datetime 类三、timedelta 类的时间加减四、时间处理基础Python 中提供了对时间日期的多种多样的处理方式,主要是在 time …...

C语言学习及复习笔记-【5】C 运算符
文章目录5. C 运算符5.1 关系运算符5.2 逻辑运算符5.3 位运算符5.4 杂项运算符 ↦ sizeof & 三元5.5 例子1). 利用异或 ^ 来交换两个数的值,而且不引入其他变量。2). 利用位与 & 运算,判断一个整数是否是2的整数次幂。3). 不同长度的数据进行位运…...

数仓、数据湖、湖仓一体、数据网格
第一代:数据仓库 定义 为解决数据库面对数据分析的不足,孕育出新一类产品数据仓库。数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策和信息的全局共享。 数…...

C语言【atoi函数】
C语言【atoi函数】🫅系统atoi函数🫅 模拟实现atoi函数看到atoi函数,有人又会问有这个函数,我怎么没用过。那就说明:不是你刷题太少,就是atoi函数存在感太低。 这篇函数就带你领略atoi函数的魅力 Ǻ…...

一起学习用Verilog在FPGA上实现CNN----(八)integrationFC设计
1 integrationFC设计 LeNet-5网络结构全连接部分如图所示,该部分有2个全连接层,1个TanH激活层,1个SoftMax激活层: 图片来自附带的技术文档《Hardware Documentation》 integrationFC部分原理图,如图所示,…...

面试题总结
1.js的数据类型 分为基本数据类型和引用数据类型。 基本数据类型 ES5的5种:Null,undefined,Boolean,Number,String, ES6新增:Symbol表示独一无二的值 ES10新增:BigInt 表示任意大的…...

go进阶(1) -深入理解goroutine并发运行机制
并发指的是同时进行多个任务的程序,Web处理请求,读写处理操作,I/O操作都可以充分利用并发增长处理速度,随着网络的普及,并发操作逐渐不可或缺 一、goroutine简述 在Golang中一个goroutines就是一个执行单元ÿ…...

mongodb 操作记录
#启动服务 net start MongoDB #停止服务 net stop MongoDB #进入mongo shell 方式 mongo db #查看当前数据库是那个 #插入一条数据 db.runoob.insert({x:10}) #查找数据 db.runoob.find() 查询所有的数据库 show dbs #连接mongodb mongodb://[username:password]host1[:po…...

JDBC简单的示例
JDBC 编程步骤 加载驱动程序: Class.forName(driverClass) //加载MySql驱动 Class.forName("com.mysql.jdbc.Driver") //加载Oracle驱动 Class.forName("oracle.jdbc.driver.OracleDriver")获得数据库连接: DriverManager.getCon…...

Spring架构篇--2.3 远程通信基础--IO多路复用select,poll,epoll模型
前言:对于传统的BIO(同步阻塞)模型,当有客户端连接达到服务端,服务端在对改连接进行连接建立,和数据传输过程中,是无法响应其他客户端的,只有当服务端完成对一个客户端处理后&#x…...

python--matplotlib(4)
前言 Matplotlib画图工具的官网地址是 http://matplotlib.org/ Python环境下实现Matlab制图功能的第三方库,需要numpy库的支持,支持用户方便设计出二维、三维数据的图形显示,制作的图形达到出版级的标准。 其他matplotlib文章 python--matpl…...

【项目精选】城市公交查询系统(论文+视频+源码)
点击下载源码 1.1 选题背景 随着低碳生活的普及,人们更倾向于低碳环保的出行方式,完善公交系统无疑具有重要意义。公交是居民日常生活中最常使用的交通工具之一,伴随着我国经济繁荣和城市人口增长,出行工具的选择也变得越来越重要…...
less、sass、webpack(前端工程化)
目录 一、Less 1.配置less环境 1.先要安装node:在cmd中:node -v检查是否安装node 2.安装less :cnpm install -g less 3.检查less是否安装成功:lessc -v 4.安装成功后,在工作区创建xx.less文件 5.在控制台编译less,命令&…...

解析Java中的class文件
解析class文件需要把class文件当成文件流来处理,定义ClassReader结构体 type ClassReader struct {data []byte }go语言中的reslice语法可以跳过已经读过的数据。 同时定义了ClassFile数据结构来描述class文件的各个部分,该数据结构如下所示࿱…...

直播预告 | 企业如何轻松完成数据治理?火山引擎 DataLeap 给你一份实战攻略!
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 企业数字化转型正席卷全球,这不仅是趋势所在,也是企业发展必然面对的考题,也是企业最关心、最难决策的难题,数字化不…...

华为OD机试真题Python实现【 磁盘容量】真题+解题思路+代码(20222023)
磁盘容量 题目 磁盘的容量单位常用的有M、G、T 他们之间的换算关系为1T =1024G,1G=1024M 现在给定n块磁盘的容量,请对他们按从小到大的顺序进行稳定排序 例如给定5块盘的容量 5 1T 20M 3G 10G6T 3M12G9M 排序后的结果为 20M 3G 3M12G9M 1T 10G6T 注意单位可以重复出现 上述…...

php调试配置
错误信息输出 错误日志 nginx把对php的请求发给php-fpm fastcgi进程来处理,默认的php-fpm只会输出php-fpm的错误信息,在php-fpm的errors log里也看不到php的errorlog。原因是php-fpm的配置文件php-fpm.conf中默认是关闭worker进程的错误输出࿰…...

Spring架构篇--1 项目演化过程
前言:如今spring微服务以其灵活开发易于维护已基本占领开发占地,项目从一开始并不是这种服务的拆分,是一步步演变成现在的架构; 项目演化之路: 1 单体架构:开发和运维都较简单: 单体架构&am…...

华为OD机试真题Python实现【斗地主 2】真题+解题思路+代码(20222023)
斗地主 2 题目描述 在斗地主扑克牌游戏中,扑克牌由小到大的顺序为3 4 5 6 7 8 9 10 J Q K A 2 玩家可以出的扑克牌阵型有,单张,对子,顺子,飞机,炸弹等 其中顺子的出牌规则为,由至少 5 张由小到大连续递增的扑克牌组成 且不能包含2 例如:{3,4,5,6,7}、{3,4,5,6,7,8,9,1…...

Intel SIMD: AVX2
AVX2 资料: Intel 内部指令 — AVX和AVX2学习笔记Intel Intrinsics — AVX & AVX2 Learning NotesModule x86 AVX 向量寄存器有三种: 128-bit (XMM forms),AVX2 支持,符号 __m128, __m128d, __m128i256-bit (YMM forms)&a…...

Spring Cloud Nacos源码讲解(二)- Nacos客户端服务注册源码分析
Nacos客户端服务注册源码分析 服务注册信息 我们从Nacos-Client开始说起,那么说到客户端就涉及到服务注册,我们先了解一下Nacos客户端都会将什么信息传递给服务器,我们直接从Nacos Client项目的NamingTest说起 public class NamingTest…...

华为OD机试 - 停车场最大距离(Python) | 机试题+算法思路+考点+代码解析 【2023】
停车场最大距离 题目 停车场有一横排车位0代表没有停车,1代表有车. 至少停了一辆车在车位上,也至少有一个空位没有停车. 为防止刮蹭,需为停车人找到一个车位 使得停车人的车最近的车辆的距离是最大的 返回此时的最大距离 输入 一个用半角逗号分割的停车标识字符串,停车标识为…...

RPC(2)------ Netty(NIO) + 多种序列化协议 + JDK动态代理实现
依赖包解释 Guava 包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string process…...

CAN现场总线基础知识总结,看这一篇就理清了(CAN是什么,电气属性,CAN通协议等)
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》 长期持续带来更多案例与技术文章分享…...

盘点全网好评最多的7款团队协同软件,你用过哪款?
能亲自带团队管理项目当然是一件开心和兴奋的事,但是突然成为团队负责人后开始不大适应。如何转换角色,还有自己和团队成员之间在心理、行为等方面的互动也变得很敏感。新手领导上任的过程,是团队秩序再造的过程;是晋升者个人职业…...

Node-RED 3.0升级,新增特性介绍
前言 最近给我的树莓派上的Node-RED(以下简称NR)做了一下升级,从2.x升级到得了3.0。这是一个比较大的版本升级,在用户体验方面,NR有了有很大的提升。下面让我们一起来看一如何升级以及,3.0新增了那些特性 升级3.0 由于之前的NR是直接使用npm来进行安装的,所以此处升级…...

使用带有 Moveit 的深度相机来避免碰撞
文章目录 什么是深度相机?如何将 Kinect 深度相机添加到您的环境中在 Rviz 中可视化深度相机数据在取放场景中使用深度相机将深度相机与您的 Moveit 设置一起使用有很多优势。机器人可以避免未知环境中的碰撞,甚至可以对周围的变化做出反应。然而,将深度相机连接到您的设置并…...

干货复试详细教程——从联系导师→自我介绍的复试教程
文章目录联系导师联系之前的准备联系导师注意自我介绍教育技术领域通用的复试准备其他补充联系导师 确定出分和自己能进复试以后联系。 分两类 科研技能型 低调,如实介绍,不吹不水。就算你很牛啥都会手握核心期刊论文也不太狂 学霸高分型 不要自卑&…...

Java 优化:读取配置文件 “万能方式“ 跨平台,动态获取文件的绝对路径
Java 优化:读取配置文件 “万能方式” 跨平台,动态获取文件的绝对路径 每博一文案 往事不会像烟雾似的飘散,将永远像铅一般沉重地浇铸在心灵的深处。 不过,日常生活的纷繁不会让人专注地沉湎于自己的痛苦 不幸,即使人…...

华为OD机试真题Python实现【最小施肥机能效】真题+解题思路+代码(20222023)
最小施肥机能效 题目 某农场主管理了一大片果园,fields[i]表示不同果林的面积,单位:( m 2 m^2 m2),现在要为所有的果林施肥且必须在 n 天之内完成,否则影响收成。 小布是果林的工作人员,他每次选择一片果林进行施肥,且一片果林施肥完...