Categories
//Сколько часов прошло? Задача на программирование
Сколько часов прошло? Задача на программирование
Напишите функцию, которая будет принимать время — 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"
- 0 views
- 0 Comment