Python将秒转换为小时、分钟、秒

2024-04-18 21:30:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我在网上找到了这个代码,并做了一点修改,但由于某种原因,结果是1秒错误的

例:140153应该返回38:55:53,但是返回的是38:55:52

N = int(input())
min = 60
hour = 60 * 60
day = 60 * 60 * 24

DAY = N // day
HOUR = (N - (DAY)) // hour
MINUT = (N - (DAY + (HOUR * hour))) // min
SECONDS = N - (DAY + (HOUR * hour) + (MINUT * min))

print('{}:{}:{}'.format(HOUR, MINUT, SECONDS))

Tags: 代码formatinput错误minintsecondsprint
1条回答
网友
1楼 · 发布于 2024-04-18 21:30:02

DAY的值是1。在

在每一步中,你要减去每天的天数(1)而不是秒数。它不影响小时和分钟的计算,因为您正在进行整数除法(^{})(在文档中称为floor division)。在

但是,由于您只需要以小时、分钟和秒为单位的时间,您可以从代码中完全删除DAY。在

N = int(input())
min = 60
hour = 60 * 60
day = 60 * 60 * 24

HOUR = N // hour
MINUT = (N - (HOUR * hour)) // min
SECONDS = N - ((HOUR * hour) + (MINUT * min))

print('{}:{}:{}'.format(HOUR, MINUT, SECONDS))

N = 140153给你{}。在

N = 200000给你{}。在


如果您只想将秒转换为小时/分钟/秒,请查看this question以获得更具Python式的方法。在

相关问题 更多 >