格式化数字时钟的时间

时间:2012-12-10 18:14:06

标签: python time clock

我正在创建一个函数,它接收秒的十分之一(t)并返回一个已处理的字符串(数字时钟之类)。

有更好/更容易/最佳的方式吗?

输出格式: A:BC.D (分钟:秒。十分之一)

def format(t):
    A = 0
    B = 0
    C = 0
    D = t

    if t >= 10:
        C = t // 10
        D = t % 10

        if C >= 10:
            B = C // 10
            C = C % 10

            if B >= 6:
                A = B // 6
                B = B % 6

    return str(A) + ":" + str(B) + str(C) + "." + str(D)

2 个答案:

答案 0 :(得分:3)

所有这些ifs都是完全没必要的,还可以简化其他一些事情:

def fmt(t):
    tenths = t % 10
    t //= 10
    sec = t % 60
    t //= 60
    min = t
    return '%d:%02d.%d' % (min, sec, tenths)

print(fmt(1234))

答案 1 :(得分:1)

def format(t):
    seconds, fractions = divmod(t, 10)
    minutes, seconds = divmod(seconds, 60)
    return "%d:%02d.%d" % (minutes, seconds, fractions)

示例输出:

>>> format(10)
'0:01.0'
>>> format(100)
'0:10.0'
>>> format(1000)
'1:40.0'