我正在创建一个函数,它接收秒的十分之一(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)
答案 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'