0

分単位の経過時間のリストがあり、それらを週、日、時間、分の文字列として再フォーマットしようとしています。

たとえば、7,480 分 = 3 週間と 4 時間 40 分です。

フォーマットを次のようにしたい:'3w4h40m'

divmod分を週、日、時間、分に分割して文字列を返す関数を作成しました。

def formattime(time):
    tl = [divmod(divmod(divmod(time,60)[0],8)[0],5)[0],divmod(divmod(divmod(time,60)[0],8)[0],5)[1],divmod(divmod(time,60)[0],8)[1],divmod(time,60)[1]]

    timestring = str(tl[0])+'w'+str(tl[1])+'d'+str(tl[2])+'h'+str(tl[3])+'m'

    return timestring

ただし、数値がゼロの場合、週、日、時間、または分の数値を返したくありません。

>>> formattime(7480)
'3w0d4h40m'

Pythonic で簡単に戻る方法はあり'3w4h40m'ますか?

4

1 に答える 1