2019年10月19日土曜日

[Python]秒数から、経過時間を時分秒(HH:MM:SS)形式で出力する。

問題

0以上の整数(秒数)を入力として、人が認識可能な形式HH:MM:SSをフォーマットとする時刻に変換する関数を記述せよ。

  • HH:時、2桁でパディングする。00-99を範囲とする。
  • MM:分、2桁でパディングする。00-59を範囲とする。
  • SS:秒、2桁でパディングする。00-59を範囲とする。

入力の最大値は、359999 (99:59:59)

入力と出力例は以下の通り。

  • make_readable(0) -> "00:00:00"
  • make_readable(5) -> "00:00:05"
  • make_readable(60) -> "00:01:00"
  • make_readable(86399) -> "23:59:59"
  • make_readable(359999) -> "99:59:59"

解答

def make_readable(seconds):
    return '{:02}:{:02}:{:02}'.format(int(seconds / 3600), int(seconds / 60 % 60), seconds % 60 )