有问题的是,给定时间以分钟为单位,需要将其转换为小时和分钟。
样品:
输入-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('.',' '))
答案 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