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 callable()函数用法实例分析
Mar 17 Python
Matplotlib 生成不同大小的subplots实例
May 25 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
Aug 04 Python
漂亮的Django Markdown富文本app插件的实现
Jan 02 Python
Python任意字符串转16, 32, 64进制的方法
Jun 12 Python
wxpython布局的实现方法
Nov 01 Python
python属于软件吗
Jun 18 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
Jun 28 Python
python 线程的五个状态
Sep 22 Python
Python SMTP发送电子邮件的示例
Sep 23 Python
pymysql模块使用简介与示例
Nov 17 Python
python周期任务调度工具Schedule使用详解
Nov 23 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三维数组去重(示例代码)
2013/11/26 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
2014/04/28 PHP
PHP7+Nginx的配置与安装教程详解
2016/05/10 PHP
jquery 简短右键菜单 多浏览器兼容
2010/01/01 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
jquery监控数据是否变化(修正版)
2011/04/12 Javascript
JS控制输入框内字符串长度
2014/05/21 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
jquery实现点击变换导航样式的方法
2015/08/31 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
jQuery接受后台传递的List的实例详解
2017/08/02 jQuery
node.js基于express使用websocket的方法
2017/11/09 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
Python中的闭包详细介绍和实例
2014/11/21 Python
python根据开头和结尾字符串获取中间字符串的方法
2015/03/26 Python
Python 创建子进程模块subprocess详解
2015/04/08 Python
Python实现进程同步和通信的方法
2018/01/02 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
Python实现找出数组中第2大数字的方法示例
2018/03/26 Python
Python @property装饰器原理解析
2020/01/22 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
2014/09/15 HTML / CSS
简述安装Slackware Linux系统的过程
2012/01/12 面试题
医学生实习自我鉴定
2013/09/27 职场文书
公务员培训自我鉴定
2014/02/01 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书