我需要从列表中计算列表中第三项的所有分钟数。
答案应该是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)
答案 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