以分钟为单位的给定时间,以小时和分钟为单位打印

时间:2019-05-27 09:41:01

标签: python

有问题的是,给定时间以分钟为单位,需要将其转换为小时和分钟。

样品:

输入-53 输出-0 53

num = int(input())
if num < 60:
    print('0'+" "+str(num))
else:
    if num>=60:
        time = num*(1/60)
        time1 = (format(time, '.2f'))
        print(str(time1).replace('.',' '))

enter image description here

2 个答案:

答案 0 :(得分:0)

最简单的方法是使用整数除法(//)和取模(%):

def printAsHoursAndMinutes(timeInMinutes):
    hours = timeInMinutes // 60
    minutes = timeInMinutes % 60
    print("{} {}".format(hours, minutes)) #edited to match the requested output format

//将返回分区的整数部分,%将返回其余部分。输入130,上面的代码将显示“ 2 10”,输入5,则显示“ 0 5”。

[编辑:]这适用于任何非负整数。如果您也想支持负整数,请在打印之前添加以下条件:

if(timeInMinutes < 0):
    hours = hours + 1
    minutes = 60 - minutes

这使我们能够处理-65之类的输入以打印“ -1 5”。

对于浮点数,由于%并非100%准确(例如,60.1的结果是1.0 0.10000000000000142),因此问题变得有些棘手。就像@CristiFati在问题注释中提到的那样使用divmod时,甚至会发生这种情况,因此没有实际的解决方法,我们需要更高级的处理或自定义取模方法,但这是不合时宜的在这里。

答案 1 :(得分:-1)

如图所示...

您可以尝试这个。.

def HoursandMinutes(Minutes):
    Minutes = Minutes % (24*3600)
    Hour = Minutes // 60
    Minutes %= 60
    print("%d %d" % (Hour, Minutes))

调用此函数

输出

HoursandMinutes(52)
0 52

HoursandMinutes(70)
1 10

HoursandMinutes(90)
1 30 

HoursandMinutes(105)
1 45