1. 程式人生 > >Python刷題筆記(5)- 秒轉化為時間

Python刷題筆記(5)- 秒轉化為時間

題目:

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 - 99
  • MM = minutes, padded to 2 digits, range: 00 - 59
  • SS = 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的紫色題了