如何在十进制数中分割十进制数以获得分钟和秒数?蟒蛇

时间:2015-09-22 01:42:18

标签: python split

假设我有一个名为

的变量
time = 6.50

如何分割数字以便输出给用户:

print("Your total time was %i minutes and %i seconds. " %(minute, second))

我考虑将它们转换为字符串,但我需要能够将.50部分乘以60,这样我才能得到总秒数。

2 个答案:

答案 0 :(得分:3)

您也可以使用divmod,作为 -

minutes, seconds = divmod(int(time * 60), 60)

如果您希望秒数也具有毫秒(浮点精度),则可以将转换移至int并执行 - divmod(time * 60, 60)

演示 -

>>> time = 6.50
>>> divmod(time * 60, 60)
(6.0, 30.0)
>>> time = 6.55
>>> divmod(time * 60, 60)
(6.0, 33.0)
>>> time = 6.53
>>> divmod(time * 60, 60)
(6.0, 31.80000000000001)
>>> time = 6.55
>>> divmod(int(time * 60), 60)
(6, 33)

但请注意,浮点数不精确,因此您可能会获得近似值而非准确的结果。

答案 1 :(得分:2)

time = 6.50
minute, second = int(time), (time%1)*60
print("Your total time was %i minutes and %i seconds. " %(minute, second))