Python中模数除法的奇数输出

时间:2012-04-10 16:08:44

标签: python

给出以下示例:

seconds = totalTime % 60
minutes = (totalTime - seconds) % (60 ** 2)
hours = (totalTime - (minutes * 60)) / (60 ** 2)

finalTime = '{0:.0f}h {1:.0f}m {2:.0f}s'.format(hours, minutes, seconds)

例如,当我将totalTime设置为7000(稍微不到两小时)时,我得到以下回报:

-55h 3360m 39s

咦!?这种情况发生在我给它的任何数字...如果它有帮助,还有一个例子:

totalTime = 10000

-44h 2760m 39s

3 个答案:

答案 0 :(得分:8)

您正在以秒为单位测量分钟数。要修复代码,您应该将minutes除以60:

minutes = (totalTime - seconds) % (60 ** 2) / 60

但是,有更简单的方法可以做到这一点,例如

hours, seconds = divmod(totalTime, 60 ** 2)
minutes, seconds = divmod(seconds, 60)

答案 1 :(得分:1)

您的minutes实际上是以秒为单位来衡量的。在某处划分60分。

答案 2 :(得分:0)

嗯,我认为正确的表达方式是:

seconds = totalTime % 60
minutes = (totalTime / 60) % 60
hours = totalTime / (60 ** 2)