Python|计算公交发车时间

Python|计算公交发车时间,第1张

概述 问题描述公交车每天会按照一定间隔发车,由于不同时间段经过拥堵路段的用时不-样,所以给定路线下公交车每趟(每车次)行驶时间差异也很大,现在给出某路线某天各车次公交车离开始发站和到达终点站的时间,请求出该天耗时最长车次的行驶时间。输入说明:第--行是一个整数N,示接下来的

 

问题描述

公交车每天会按照一定间隔发车,由于不同时间段经过拥堵路段的用时不-样,所以给定路线下公交车每趟(每车次)行驶时间差异也很大,现在给出某路线某天各车次公交车离开始发站和到达终点站的时间,请求出该天耗时最长车次的行驶时间。输入说明:第- -行是一个整数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))

结语

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

END

实习编辑   |   王楠岚

责       编   |   王    曦

 where2go 团队


   

微信号:算法与编程之美          

长按识别二维码关注我们!

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

总结

以上是内存溢出为你收集整理的Python|计算公交发车时间全部内容,希望文章能够帮你解决Python|计算公交发车时间所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1183562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存