如何计算Python中的总分和秒

时间:2014-04-13 04:01:48

标签: python

我需要从列表中计算列表中第三项的所有分钟数。 答案应该是10.00(因为它是几分钟)。 我遇到了错误i is not defined。 这是代码:

def main():
    a=[("a","b", 3.10),
       ("c","d", 3.20),
       ("e","f", 3.30)]
    for i[2] in a:
        c=(i[2]//1)*60
        d=(i[2]-(i[2]//1))*100
        e=c+d
        f=f+e
    g=f%60
    h=f//60
    i=g/100
    f=i+h
    print(f) 

1 个答案:

答案 0 :(得分:5)

您需要应用2个修复程序才能使其正常工作:

  • i循环线上使用i[2]代替for
  • 在循环之前初始化f

应用了修补程序的代码的相关部分:

f=0
for i in a:
    c=(i[2]//1)*60
    d=(i[2]-(i[2]//1))*100
    e=c+d
    f=f+e 

为了总结您的情况,您可以使用timedelta s:

from datetime import timedelta
import math

a=[("a","b", 3.10),
   ("c","d", 3.20),
   ("e","f", 3.30)]

s = timedelta()
for item in a:
    seconds, minutes = math.modf(item[2])
    s += timedelta(minutes=minutes, seconds=seconds*100)

print s.seconds / 60  # prints 10