Python计算公交发车时间的完整代码
问题描述
公交车每天会按照一定间隔发车,由于不同时间段经过拥堵路段的用时不-样,所以给定路线下公交车每趟(每车次)行驶时间差异也很大,现在给出某路线某天各车次公交车离开始发站和到达终点站的时间,请求出该天耗时最长车次的行驶时间。输入说明:第--行是一个整数N,示接下来的公交车车次的总数。之后是N行,每行开始是字母S或Z,表示是从始发站开出还是终点站开出。之后两个时间表示起始时间,时间给出方式为小时+分钟的形式,如S08301210表示8点30分离开始发站,12点10分达到终点站。
输出说明:耗时最长的车次的行驶时间,比如耗时最长车辆的始发时间是0830到1025,那么输出1H55M。
解决方案
通过题目我们可以发现题目的本意是求两点之间的时间,所以首先应该思考如何在题目给的格式下计算时间差,我们可以将时间分成两部分分开计算,利用取整和取余算出时间传入一个新列表然后找出最大最小输出
进行格式的处理方便计算
N=int(input()) list2=[] whileN>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=[] whileN>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计算公交发车时间的完整代码,希望对大家有所帮助!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。