Python计算公交发车时间的完整代码


Posted in Python onFebruary 12, 2020

问题描述

公交车每天会按照一定间隔发车 , 由于不同时间段经过拥堵路段的用时不 - 样,所以给定路线下公交车每趟 ( 每车次 ) 行驶时间差异也很大,现在给出某路线某天各车次公交车离开始发站和到达终点站的时间,请求出该天耗时最长车次的行驶时间。输入说明 : 第 - - 行是一个整数 N, 示接下来的公交车车次的总数。之后是 N 行,每行开始是字母 S 或 Z, 表示是从始发站开出还是终点站开出。之后两个时间表示起始时间,时间给出方式为小时 + 分钟的形式,如 S 0830 1210 表示 8 点 30 分离开始发站, 12 点 10 分达到终点站。

输出说明 : 耗时最长的车次的行驶时间,比如耗时最长车辆的始发时间是 0830 到 1025, 那么输出 1H55M 。

解决方案

通过题目我们可以发现题目的本意是求两点之间的时间,所以首先应该思考如何在题目给的格式下计算时间差,我们可以将时间分成两部分分开计算,利用取整和取余算出时间传入一个新列表然后找出最大最小输出

进行格式的处理方便计算

N = int(input())
list2 = []
while N>0:
list1 = list(map(str,input().split()))

计算时间

a = (abs(int(list1[1])//100-int(list1[2])//100))*60
b = int(list1[2])%100-int(list1[1])%100

求出最大最小并输出

c = max(list2)
d = min(list2)
print('%dH%dM' % (c//60,c-(c//60)*60))

完整代码如下

N = int(input())
 list2 = []
 while N>0:
   list1 = list(map(str,input().split()))
   a = (abs(int(list1[1])//100-int(list1[2])//100))*60
   b = int(list1[2])%100-int(list1[1])%100
   list2.append(a+b)
   N-=1
 c = max(list2)
 d = min(list2)
 print('%dH%dM' % (c//60,c-(c//60)*60))

结语

遇到这种题我们应该冷静思考,抓住题的本意,寻找规律,总能解决问题。

以上所述是小编给大家介绍的Python计算公交发车时间的完整代码,希望对大家有所帮助!

Python 相关文章推荐
Linux下用Python脚本监控目录变化代码分享
May 21 Python
Python实现的Excel文件读写类
Jul 30 Python
Python网站验证码识别
Jan 25 Python
Python使用matplotlib简单绘图示例
Feb 01 Python
Django实战之用户认证(用户登录与注销)
Jul 16 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
Aug 03 Python
JSON文件及Python对JSON文件的读写操作
Oct 07 Python
对python文件读写的缓冲行为详解
Feb 13 Python
使用Python+wxpy 找出微信里把你删除的好友实例
Feb 21 Python
Pytorch根据layers的name冻结训练方式
Jan 06 Python
python 成功引入包但无法正常调用的解决
Mar 09 Python
Python使用PyYAML库读写yaml文件的方法
Apr 06 Python
详解Django3中直接添加Websockets方式
Feb 12 #Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
Feb 11 #Python
TensorFlow:将ckpt文件固化成pb文件教程
Feb 11 #Python
TensorFlow获取加载模型中的全部张量名称代码
Feb 11 #Python
tensorflow 获取checkpoint中的变量列表实例
Feb 11 #Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
Feb 11 #Python
python 函数中的参数类型
Feb 11 #Python
You might like
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
PHP _construct()函数讲解
2019/02/03 PHP
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
2011/09/29 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
js css后面所带参数含义介绍
2013/08/18 Javascript
js中的this关键字详解
2013/09/25 Javascript
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
js显示当前日期时间和星期几
2015/10/22 Javascript
JS实现的颜色实时渐变效果完整实例
2016/03/25 Javascript
jquery实现数字输入框
2017/02/22 Javascript
详解node-ccap模块生成captcha验证码
2017/07/01 Javascript
Js经典案例的实例代码
2018/05/10 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
Python中shape计算矩阵的方法示例
2017/04/21 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
2019/08/17 Python
详解Python3 pandas.merge用法
2019/09/05 Python
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
计算机操作自荐信
2013/12/07 职场文书
2014年道德讲堂实施方案
2014/03/05 职场文书
财务部绩效考核方案
2014/05/04 职场文书
公司承诺书怎么写
2014/05/24 职场文书
2016继续教育研修日志
2015/11/13 职场文书
浅谈MySQL user权限表
2021/06/18 MySQL
手残删除python之后的补救方法
2021/06/26 Python
Linux系统下安装PHP7.3版本
2021/06/26 PHP
mysql left join快速转inner join的过程
2021/06/30 MySQL