Python のプログラム例を披瀝するページで以下のようなプログラムを見かけた。
余計なカッコがあったりして,演算がごちゃごちゃしているのと,「整数除算演算子」と「整数剰余演算子」をご存じないようなのが仇をなしているのだ。
# 秒を入力するとHH:MM:SSの形式の文字列で出力する関数
def sec_to_time(sec):
h = int(sec / 3600)
m = int((sec - (3600 * h))/60)
s = int(sec - (3600 * h) - (60 * m))
rtx = '{:02}h {:02}m {:02}s'.format(h, m ,s)
return rtx
これを以下のように書き換えるとわかりやすい。
def sec_to_time2(sec):
h = sec // 3600
m = sec % 3600 // 60
s = sec % 3600 % 60
rtx = '{:02}h {:02}m {:02}s'.format(h, m ,s)
return rtx