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

Python 将秒转换为天、小时、分钟和秒,python,python-3.x,Python,Python 3.x,我是Python新手,在这个问题上遇到了麻烦。我想创建一个程序,其中用户输入秒数,并将其转换为天、小时、分钟和秒。但是,例如,我希望100000秒的程序输出1天3小时46分钟40秒。然而,我的也用小数输入计算结果,比如说1.157天,其他类别也是如此。任何帮助都将不胜感激,非常感谢 def SecondsConvertor(x): d = x/86400 h = (x%86400)/3600 m = (x%3600)/60 s = (x%60) print

我是Python新手,在这个问题上遇到了麻烦。我想创建一个程序,其中用户输入秒数,并将其转换为天、小时、分钟和秒。但是,例如,我希望100000秒的程序输出1天3小时46分钟40秒。然而,我的也用小数输入计算结果,比如说1.157天,其他类别也是如此。任何帮助都将不胜感激,非常感谢

def SecondsConvertor(x):
    d = x/86400
    h = (x%86400)/3600
    m = (x%3600)/60
    s = (x%60)
    print("Your input is equal to", d, "days,", h, "hours,", m, "minutes,", "and", s, "seconds.")
x = 100000

SecondsConvertor(x)

将每个变量转换为整数应该可以删除您想要的小数,所以对所有变量(d、h、m和s)使用它就像
d=int(x/86400)
一样。

Hi,欢迎使用StackOverflow!问题是你如何处理你的数学,以及你如何使用总秒数,即使它们被更大的单位占据。例如,使用此设置,输入86400将返回1天、24小时、60分钟和86400秒。但是,我会帮你解决的!哦,我明白了,是的,有什么办法可以修复?我刚刚学会了%并尝试使用它。是的,刚刚发布了一个完整的脚本!它是有效的,我为yaHey做了预测试,非常感谢,现在我知道整数没有小数。主要的问题是,如果x的值不改变的话,数学将是非常错误的。但只要他在除名前继续使用%就行了谢谢你这么善良的人。我能理解为什么这是一个如此伟大的社区:)。很乐意帮助!是的,欢迎来到SO社区!实际上,我正要编辑我的答案,指出不同之处。
def SecondConverter(x):
    d = int(x/86400)  #The int call removes the decimals.  Conveniently, it always rounds down.  int(2.9) returns 2 instead of 3, for example.
    x-=(d*86400)  #This updates the value of x to show that the already counted seconds won't be double counted or anything.
    h = int(x/3600)
    x-=(h*3600)
    m = int(x/60)
    x -= (m*60)
    s = x
    print("Your input is equal to ", d, " days, ", h, " hours, ", m, " minutes, and ", s, "seconds.")

SecondConverter(100000)

#gives 1 day, 3 hours, 46 minutes, and 40 seconds.