Python Dates and Times in Python Let's Build a Timed Quiz App Harder Time Machine

Artur Owczarek
Artur Owczarek
4,781 Points

Bummer: 'time_unit' is an invalid keyword argument for this function

Hello, I have a problem with my code. I know why it doesn't work. There is no keyword argument such as time_unit. I know the solution of this problem, I can change all units to seconds and execute timedelta('seconds'=...), but I think it is not elegant. Does exist more elegant way to do it?
import datetime

starter = datetime.datetime(2015, 10, 21, 16, 29)

def time_machine(time_num, time_unit):
    if time_unit == 'years':
        time_num *= 365
        time_unit = 'days'
    return starter + datetime.timedelta(time_unit=time_num)

# Remember, you can't set "years" on a timedelta!
# Consider a year to be 365 days.

## Example
# time_machine(5, "minutes") => datetime(2015, 10, 21, 16, 34)