2012-12-10 59 views
1

我創建了一個函數,它接收秒(t)的十分之一秒並返回一個已處理的字符串(數字時鐘)。格式化數字時鐘的時間

是否有更好/更簡單/最佳的方式來做到這一點?

輸出格式:答: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) 
+3

請使用有意義的變量名稱 –

+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)) 
+0

非常感謝。 –

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' 
+0

非常感謝。 –

+0

不客氣Zed –