【发布时间】:2021-03-14 10:59:54
【问题描述】:
我有一本字典,其中包含人员及其完成任务的持续时间。我也希望添加他们的个人时间。
office_time_dict = {
"john": ["0:00:30", "0:02:04", "0:00:16"],
"bryan": ["0:00:30", "0:02:04", "0:00:16"],
"mike": ["0:00:30", "0:02:04", "0:00:16"],
}
total_time = 0
for k, v in office_time_dict.items():
office = office_time_dict[k]
for time in office:
timeparts = [int(s) for s in time.split(":")]
total_time += (timeparts[0] * 60 + timeparts[1]) * 60 + timeparts[2]
total_time, sec = divmod(total_time, 60)
hr, min = divmod(total_time, 60)
print("%d:%02d:%02d" % (hr, min, sec))
当前输出:0:02:50、0:02:52、0:02:52
对我做错了什么感到困惑,因为 john、bryan 和 mike 的所有输出都应该是相同的,但是 bryan 和 mike 延迟了 2 秒
【问题讨论】:
-
您必须将“total_time”的值重置为零,每次循环 k,v。
-
这是出错的那一行:> 它保存了 [total_time] 变量中“2”的值,它传递给下一个循环犯了这个错误。
标签: python python-3.x dictionary time