将值清零

时间:2014-09-08 03:24:42

标签: python

我尝试创建一个允许我以分钟为单位输入值的程序,程序会将这些分钟输出为它们之间的天数,小时数和分钟数。 例如,如果我输入10000分钟,我应该得到输出," 10000分钟是6天,22小时40分钟")。这就是我现在拥有的:

min = int(input("Enter a whole number of minutes: "))
days = min/1440
remainday = min%1440
print (days)

我只有一个问题,因为它未完成,如果用户输入1440以下的分钟数,那么我得到天数的十进制答案(预期)但是如果分钟数不足以让一天,然后我希望它说" 0天"不是" .153天"。在这种情况下,我如何将天数值归零?

3 个答案:

答案 0 :(得分:4)

您正在使用Python 3,因此运算符/true division, not integer division

你可以使用类似于Python 2的整数除法的分区:

days = min//1440

或者使用divmod通过一个命令获取两者:

days, remaindays = divmod(min,1440)

答案 1 :(得分:1)

您可以使用分层(使用双//代替分割时的/),它会向下舍入到最接近的整数:

min = int(input("Enter a whole number of minutes: "))
# Example input: 1000
days = min // 1440
remainday = min%1440
print (days)
# Output:
# 0

答案 2 :(得分:0)

你基本上想要将除法(商)的结果向下舍入到最接近的整数。 这可以通过多种方式完成:

days = int(min/1440)

或者

days = min//1440 # // is the integer division in Python 3, while / is float division`

或者

days = math.floor(min/1440) # after importing "math" module, using "import math"