Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

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

Rabih Atallah
Rabih Atallah
3,405 Points

timedelta question

please how can I fix my code so that a Timedelta could be constructed from time_machine arguments and add it to starter.

time_machine.py
import datetime

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

# 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)
def time_machine(a,"days"):
  x = datetime.timedelta(a)
  return starter + x

1 Answer

Devin Scheu
Devin Scheu
66,191 Points

Hello, your full code to this challenge should look like this:

import datetime

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

def time_machine(integer, string1):
  if string1 == 'hours':
      return starter + datetime.timedelta(hours=integer)
  elif string1 == 'days':
      return starter + datetime.timedelta(days=integer)
  elif string1 == 'minutes':
      return starter + datetime.timedelta(minutes=integer)
  elif string1 == 'years':
      return starter + datetime.timedelta(days=integer*365)

# Remember, you can't set "years" on a timedelta!

time_machine(3, 'days')
Vittorio Somaschini
Vittorio Somaschini
33,371 Points

Hello Devin.

could you please explain your code a little?

Your code looks beautiful and I am pretty sure it is good for the code challenge (I haven't even tested it), but we would much prefer some explanations on the forums.

Also, it turns out that good programmers are lazy, so we just don't want the to copy and paste some else's solutions! :D

Thanks for your help!

Vittorio

Rabih Atallah
Rabih Atallah
3,405 Points

Thank you Devin! I appreciate your help