我尝试创建一个允许我以分钟为单位输入值的程序,程序会将这些分钟输出为它们之间的天数,小时数和分钟数。 例如,如果我输入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天"。在这种情况下,我如何将天数值归零?
答案 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"