Сколько часов прошло?

Напишите функцию, которая будет принимать время — 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"