exercism/python/guidos-gorgeous-lasagna/lasagna.py

42 lines
1.3 KiB
Python

EXPECTED_BAKE_TIME = 40
def bake_time_remaining(elapsed_bake_time):
"""Calculate the bake time remaining.
:param elapsed_bake_time: int baking time already elapsed.
:return: int remaining bake time derived from 'EXPECTED_BAKE_TIME'.
Function that takes the actual minutes the lasagna has been in the oven as
an argument and returns how many minutes the lasagna still needs to bake
based on the `EXPECTED_BAKE_TIME`.
"""
return EXPECTED_BAKE_TIME - elapsed_bake_time
def preparation_time_in_minutes(number_of_layers):
"""Calculate the amout of time it takes to prepare the desired number of
layers.
:param number_of_layers: int desired number of layers to prepare
:return: int time required to prepare layers
"""
return number_of_layers * 2
def elapsed_time_in_minutes(number_of_layers, elapsed_bake_time):
"""
Return elapsed cooking time.
This function takes two numbers representing the number of layers & the time already spent
baking and calculates the total elapsed minutes spent cooking the lasagna.
:param number_of_layers: int desired number of layers to prepare
:param elapsed_bake_time int
:return: int elapsed cooking time
"""
preparation_time = preparation_time_in_minutes(number_of_layers)
return preparation_time + elapsed_bake_time