更多课程 选择中心


Python培训

400-996-5531

如何使用Python来计算公交发车时间


问题描述:

公交车每天会按照一定间隔发车,由于不同时间段经过拥堵路段的用时不-样,所以给定路线下公交车每趟(每车次)行驶时间差异也很大,现在给出某路线某天各车次公交车离开始发站和到达终点站的时间,请求出该天耗时最长车次的行驶时间。

输入说明:

第- -行是一个整数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))

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

版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:zip函数-求最长公共前缀
下一篇:Python输出指定字符串的方法

如何自学Python?

说一说python中的几个基础语法

为什么Python类语法应该不同?

0基础入门Python,3 个常识点必须先了解!

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省