Напишите функцию, которая будет принимать время — time1 и time2 — и возвращать количество часов между ними.
Примечания
time1всегда будет начальным временем, аtime2— конечным.- Если
time1равноtime2, верните строку"no time passed"(«нисколько времени не прошло»).
Примеры
hours_passed("3:00 AM", "9:00 AM") ➞ "6 hours"
hours_passed("2:00 PM", "4:00 PM") ➞ "2 hours"
hours_passed("1:00 AM", "3:00 PM") ➞ "14 hours"
Варианты решения
import datetime
def hours_passed(time1, time2):
if time1 == time2:
return "no time passed"
else:
dt1 = datetime.datetime.strptime(time1, '%I:%M %p')
dt2 = datetime.datetime.strptime(time2, '%I:%M %p')
return "{} hours".format(str(dt2 - dt1).split(':')[0])
from datetime import datetime
def hour(time):
return datetime.strptime(time, '%I:%M %p').hour
def hours_passed(time1, time2):
hours = hour(time2) - hour(time1)
return ('{} hours'.format(hours) if hours else
'no time passed')
from datetime import datetime
def hours_passed(time1, time2):
d = datetime.strptime(time2, "%I:%M %p") - datetime.strptime(time1, "%I:%M %p")
d = d.seconds // 3600
return "%d hours" % d if d else "no time passed"