Python刷題筆記(5)- 秒轉化為時間
阿新 • • 發佈:2019-01-06
題目:
Write a function, which takes a non-negative integer (seconds) as input and returns the time in a human-readable format (HH:MM:SS
)
HH
= hours, padded to 2 digits, range: 00 - 99MM
= minutes, padded to 2 digits, range: 00 - 59SS
= seconds, padded to 2 digits, range: 00 - 59
The maximum time never exceeds 359999 (99:59:59
You can find some examples in the test fixtures.
中文簡介:
其實很簡單,就是給你一個秒數,將其轉化為小時:分鐘:秒鐘的形式返回
想法:
1、分鐘為秒數整出60,小時為分鐘整出60,秒鐘為秒數整除60後的餘數
2、判斷各個是否<10是的話補0
3、轉化字串輸出
實現:
def make_readable(seconds): ss = str(seconds % 60) if (seconds % 60) > 9 else '0' + str(seconds % 60) temp = seconds // 60 mm = str(temp % 60) if (temp % 60) > 9 else '0' + str(temp % 60) hh = str(temp // 60) if (temp // 60) > 9 else '0' + str(temp // 60) return hh + ':' + mm + ':' + ss
對比總結:
在寫的時候就感覺比較麻煩,重複率很高,要不停地對每一個元素進行判斷。看了別人的做法後,恍然大悟,可以用format函式來實現格式化輸出。這樣的話,直接{:02}保留輸出就行了,就簡便多了。
完成此題後終於升到5kyu拉,接下來可能會碰到4kyu的紫色題了