Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Using total_seconds() solution in Clear category for Lightbulb Intro by H0r4c3
from datetime import datetime
from typing import List
def sum_light(els: List[datetime]) -> int:
"""
how long the light bulb has been turned on
"""
total_time = 0
for i in range(0, len(els) - 1, 2):
time_delta = (els[i+1] - els[i]).total_seconds()
total_time += int(time_delta)
return total_time
if __name__ == '__main__':
print("Example:")
print(sum_light([
datetime(2015, 1, 12, 10, 0 , 0),
datetime(2015, 1, 12, 10, 10 , 10),
datetime(2015, 1, 12, 11, 0 , 0),
datetime(2015, 1, 12, 11, 10 , 10),
]))
# These "asserts" are used for self-checking and not for an auto-testing
assert sum_light(els=[
datetime(2015, 1, 12, 10, 0 , 0),
datetime(2015, 1, 12, 10, 10 , 10),
]) == 610
assert sum_light([
datetime(2015, 1, 12, 10, 0 , 0),
datetime(2015, 1, 12, 10, 10 , 10),
datetime(2015, 1, 12, 11, 0 , 0),
datetime(2015, 1, 12, 11, 10 , 10),
]) == 1220
assert sum_light([
datetime(2015, 1, 12, 10, 0 , 0),
datetime(2015, 1, 12, 10, 10 , 10),
datetime(2015, 1, 12, 11, 0 , 0),
datetime(2015, 1, 12, 11, 10 , 10),
datetime(2015, 1, 12, 11, 10 , 10),
datetime(2015, 1, 12, 12, 10 , 10),
]) == 4820
assert sum_light([
datetime(2015, 1, 12, 10, 0 , 0),
datetime(2015, 1, 12, 10, 0 , 1),
]) == 1
assert sum_light([
datetime(2015, 1, 12, 10, 0 , 0),
datetime(2015, 1, 12, 10, 0 , 10),
datetime(2015, 1, 12, 11, 0 , 0),
datetime(2015, 1, 13, 11, 0 , 0),
]) == 86410
print("The first mission in series is completed? Click 'Check' to earn cool rewards!")
Nov. 21, 2021