时间:2021-05-22
问题描述
公交车每天会按照一定间隔发车 , 由于不同时间段经过拥堵路段的用时不 - 样,所以给定路线下公交车每趟 ( 每车次 ) 行驶时间差异也很大,现在给出某路线某天各车次公交车离开始发站和到达终点站的时间,请求出该天耗时最长车次的行驶时间。输入说明 : 第 - - 行是一个整数 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))*60b = 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计算公交发车时间的完整代码,希望对大家有所帮助!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
嘀嗒车主取消订单处罚规则是距发车时间大于30分钟,乘客如行程有变,可以与车主沟通一致后,自助取消订单。距发车时间小于30分钟,不得取消。车主未能按照本规则服务,
问题描述项目中需要用到流程图,如果用js的echarts处理,不同层级建动态计算位置比较复杂,考虑用python来实现测试demo实现效果如下完整代码impor
本文实例讲述了Python计算程序运行时间的方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:importtimedefstart_sleep()
本文实例主要向大家分享了一个Python+matplotlib+numpy绘制精美的条形统计图的代码,效果展示如下:完整代码如下:importmatplotli
 计算两个信号的交叉谱密度结果展示:完整代码:importnumpyasnpimportmatplotlib.pyplotaspltfig,(ax1,