Python計(jì)算公交發(fā)車時(shí)間的完整代碼
問題描述
公交車每天會(huì)按照一定間隔發(fā)車 , 由于不同時(shí)間段經(jīng)過擁堵路段的用時(shí)不 - 樣,所以給定路線下公交車每趟 ( 每車次 ) 行駛時(shí)間差異也很大,現(xiàn)在給出某路線某天各車次公交車離開始發(fā)站和到達(dá)終點(diǎn)站的時(shí)間,請求出該天耗時(shí)最長車次的行駛時(shí)間。輸入說明 : 第 - - 行是一個(gè)整數(shù) N, 示接下來的公交車車次的總數(shù)。之后是 N 行,每行開始是字母 S 或 Z, 表示是從始發(fā)站開出還是終點(diǎn)站開出。之后兩個(gè)時(shí)間表示起始時(shí)間,時(shí)間給出方式為小時(shí) + 分鐘的形式,如 S 0830 1210 表示 8 點(diǎn) 30 分離開始發(fā)站, 12 點(diǎn) 10 分達(dá)到終點(diǎn)站。
輸出說明 : 耗時(shí)最長的車次的行駛時(shí)間,比如耗時(shí)最長車輛的始發(fā)時(shí)間是 0830 到 1025, 那么輸出 1H55M 。
解決方案
通過題目我們可以發(fā)現(xiàn)題目的本意是求兩點(diǎn)之間的時(shí)間,所以首先應(yīng)該思考如何在題目給的格式下計(jì)算時(shí)間差,我們可以將時(shí)間分成兩部分分開計(jì)算,利用取整和取余算出時(shí)間傳入一個(gè)新列表然后找出最大最小輸出
進(jìn)行格式的處理方便計(jì)算
N = int(input()) list2 = [] while N>0: list1 = list(map(str,input().split()))
計(jì)算時(shí)間
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))
結(jié)語
遇到這種題我們應(yīng)該冷靜思考,抓住題的本意,尋找規(guī)律,總能解決問題。
以上所述是小編給大家介紹的Python計(jì)算公交發(fā)車時(shí)間的完整代碼,希望對大家有所幫助!
- python 代碼運(yùn)行時(shí)間獲取方式詳解
- python獲取本周、上周、本月、上月及本季的時(shí)間代碼實(shí)例
- Python sqlalchemy時(shí)間戳及密碼管理實(shí)現(xiàn)代碼詳解
- Python代碼執(zhí)行時(shí)間測量模塊timeit用法解析
- Python實(shí)現(xiàn)進(jìn)度條和時(shí)間預(yù)估的示例代碼
- 利用4行Python代碼監(jiān)測每一行程序的運(yùn)行時(shí)間和空間消耗
- python 實(shí)現(xiàn)仿微信聊天時(shí)間格式化顯示的代碼
- Python文件時(shí)間操作步驟代碼詳解
- Python實(shí)現(xiàn)bilibili時(shí)間長度查詢的示例代碼
- Python統(tǒng)計(jì)時(shí)間內(nèi)的并發(fā)數(shù)代碼實(shí)例
- 如何基于python測量代碼運(yùn)行時(shí)間
- python 統(tǒng)計(jì)代碼耗時(shí)的幾種方法分享
相關(guān)文章
python中3種等待元素出現(xiàn)的方法總結(jié)
發(fā)現(xiàn)太多人不會(huì)用等待了,小編今天實(shí)在是忍不住要給大家講講等待的必要性,下面這篇文章主要給大家介紹了關(guān)于python中3種等待元素出現(xiàn)的方法,需要的朋友可以參考下2022-03-03
python 使用OpenCV進(jìn)行簡單的人像分割與合成
這篇文章主要介紹了python 使用OpenCV進(jìn)行簡單的人像分割與合成的方法,幫助大家更好的利用python處理圖像,感興趣的朋友可以了解下2021-02-02
python 數(shù)字轉(zhuǎn)換為日期的三種實(shí)現(xiàn)方法
在Python中,我們經(jīng)常需要處理日期和時(shí)間,本文主要介紹了python 數(shù)字轉(zhuǎn)換為日期的三種實(shí)現(xiàn)方法,包含datetime模塊,strftime方法及pandas庫,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02
深入了解Python中反射和動(dòng)態(tài)屬性的無限可能
理解 Python 中的反射和動(dòng)態(tài)屬性是編寫靈活和強(qiáng)大程序的關(guān)鍵,在這篇文章中,小編將帶領(lǐng)大家一起反射和動(dòng)態(tài)屬性的概念,并提供大量示例代碼,希望對大家有所幫助2023-11-11
Python基于checksum計(jì)算文件是否相同的方法
這篇文章主要介紹了Python基于checksum計(jì)算文件是否相同的方法,涉及Python針對二進(jìn)制文件的讀取與判定技巧,需要的朋友可以參考下2015-07-07
matplotlib繪制鼠標(biāo)的十字光標(biāo)的實(shí)現(xiàn)(自定義方式,官方實(shí)例)
這篇文章主要介紹了matplotlib繪制鼠標(biāo)的十字光標(biāo)(自定義方式,官方實(shí)例),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

