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 相关文章推荐
Python中的localtime()方法使用详解
May 22 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
Oct 13 Python
Python实现判断字符串中包含某个字符的判断函数示例
Jan 08 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
在双python下设置python3为默认的方法
Oct 31 Python
理想高通滤波实现Python opencv示例
Jan 30 Python
Python提取支付宝和微信支付二维码的示例代码
Feb 15 Python
Python中字符串List按照长度排序
Jul 01 Python
python3.6生成器yield用法实例分析
Aug 23 Python
基于pycharm实现批量修改变量名
Jun 02 Python
解决keras模型保存h5文件提示无此目录问题
Jul 01 Python
树莓派升级python的具体步骤
Jul 05 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执行速度全攻略(上)
2006/10/09 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
php rsa加密解密使用详解
2015/01/14 PHP
laravel框架 api自定义全局异常处理方法
2019/10/11 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
走出JavaScript初学困境—js初学
2008/12/29 Javascript
Jquery 扩展方法
2010/05/06 Javascript
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
通过隐藏iframe实现无刷新上传文件操作
2016/03/16 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
vue生成随机验证码的示例代码
2017/09/29 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
vue2.0安装style/css loader的方法
2018/03/14 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
JavaScript Window窗口对象属性和使用方法
2020/01/19 Javascript
python3.0 字典key排序
2008/12/24 Python
Python制作爬虫抓取美女图
2016/01/20 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
Python中GeoJson和bokeh-1的使用讲解
2019/01/03 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
Keras 加载已经训练好的模型进行预测操作
2020/06/17 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
企业宣传方案
2014/03/04 职场文书
小学生作文评语
2014/04/18 职场文书
求职信怎么写
2014/05/23 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
个人授权委托书
2014/09/15 职场文书
2014校长四风问题对照检查材料思想汇报
2014/09/16 职场文书
2014年宣传工作总结
2014/11/18 职场文书
奖学金申请个人主要事迹材料
2015/11/04 职场文书
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
js中Object.create实例用法详解
2021/10/05 Javascript