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

Python将秒转换为小时、分钟、秒,python,python-3.x,converter,Python,Python 3.x,Converter,我在网上找到了这个代码,并对它做了一些修改,但由于某些原因,结果是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 * hou

我在网上找到了这个代码,并对它做了一些修改,但由于某些原因,结果是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))

DAY
的值为1

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

但是,由于您只需要以小时、分钟和秒为单位的时间,因此可以完全从代码中删除
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
为您提供
38:55:53

N=200000
为您提供
55:33:20



如果您只想将秒转换为小时/分钟/秒,请检查是否有更具Python风格的方法。

我建议您使用一些不同的值来尝试代码。例如,输入
200000
时的输出是什么。输出应该是什么?嗨,奎兰,虽然我仍然不知道为什么那天从最后一次计数中减去了1秒,但是你所做的修正确实解决了问题,Thx很多。