蓝桥杯 Python 研究生组-2023-省赛-工作时长
创始人
2024-11-16 03:38:48
0

蓝桥账户中心icon-default.png?t=N7T8https://www.lanqiao.cn/problems/3494/learning/

问题描述

小蓝手里有一份 20222022 年度自己的上班打卡记录文件,文件包含若干条打卡记录,每条记录的格式均为“yyyy-MM-dd HH:mm:ssyyyy-MM-dd HH:mm:ss”,即按照年-月-日 时:分:秒的形式记录着一个时间点(采用 2424 小时进制)。由于某些原因,这份文件中的时间记录并不是按照打卡的时间顺序记录的,而是被打乱了。但我们保证小蓝每次上班和下班时都会正常打卡,而且正好打卡一次,其它时候不会打卡。每一对相邻的上-下班打卡之间的时间就是小蓝本次的工作时长,例如文件内容如下的话:

2022-01-01 12:00:05 2022-01-02 00:20:05 2022-01-01 07:58:02 2022-01-01 16:01:35 

表示文件中共包含了两段上下班记录,1)20222022-0101-0101 0707:5858:02∼202202∼2022-0101-0101 1212:0000:0505,工作时长为 1452314523 秒;2)20222022-0101-0101 1616:0101:35∼202235∼2022-0101-0202 0000:2020:0505,工作时长为 2991029910 秒;工作时长一共是 14523+29910=4443314523+29910=44433 秒。现在小蓝想知道在 20222022 年度自己的工作时长一共是多少秒?

思路

  1. 标准化数据结构:各两位数字分别表示年月日时分秒
  2. 按时间对数据排序
  3. 单数为上班打卡时间,双数为下班打卡时间,分别存入up/out两个矩阵,一一对应
  4. 每次工作时间为:上下班间隔天数*一天中的秒数 - 上班打卡时间对应秒数 + 下班打卡时间对应秒数
  5. 依次累加

代码

datas = [] up = [] out = [] daytime = 24*60*60 worktime = 0  while True:   data = input()   if not data:     break   datas.append(''.join([data[2:4],data[5:7],data[8:10],data[11:13],data[14:16],data[17:19]]))  datas.sort()  for i, c in enumerate(datas):     if i%2 == 0:         up.append(c)     else:         out.append(c)  for num in range(len(up)):     days = int(out[num][0:6]) - int(up[num][0:6])     uptime = int(up[num][6:8]) * 60 * 60 + int(up[num][8:10]) * 60 + int(up[num][10:12])     outtime = int(out[num][6:8]) * 60 * 60 + int(out[num][8:10]) * 60 + int(out[num][10:12])     timesum = days*daytime - uptime + outtime     worktime += timesum  print(worktime)

测试

数据集:labfile.oss.aliyuncs.com/courses/21074/records.txt

答案:5101913

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...