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 trialDat Ngo
1,309 PointsChallenge Task 3
What's wrong with my code
import datetime
birthdays = [
datetime.datetime(2012, 4, 29),
datetime.datetime(2006, 8, 9),
datetime.datetime(1978, 5, 16),
datetime.datetime(1981, 8, 15),
datetime.datetime(2001, 7, 4),
datetime.datetime(1999, 12, 30)
]
today = datetime.datetime.today()
def is_over_13(dt):
delta = today - dt
return delta.days >= 4745
def date_string(dt):
return dt.strftime("%B %d")
birth_dates = map(date_string, filter(is_over_13, birthdays))
2 Answers
Chris Freeman
Treehouse Moderator 68,428 PointsIt is looking more like an international date time round off with the sample data 9 Aug 2006 date being very close to exactly 13 years old.
Update: It is a bug in the checker that has a hard coded expected value. As the second date moved passed 13 years ago from today's date the results of the map/filter will change.
A temporary work-around would be to change the data so that the second date is at least 4 days later than date you run the challenge.:
birthdays = [
datetime.datetime(2012, 4, 29),
# change line below to
datetime.datetime(2006, 8, 13), # changed from (2006, 8, 9)
datetime.datetime(1978, 5, 16),
datetime.datetime(1981, 8, 15),
datetime.datetime(2001, 7, 4),
datetime.datetime(1999, 12, 30)
]
With this change, your code will pass the challenge!!
Richard A
Courses Plus Student 10,121 PointsHi Chris Freeman , just to confirm your suspicions, I do believe this was a bug in the checker. I had this problem las week too. Going back to this challenge, I tried your solution and unfortunately, it didn't work. I did however change other values in the birthdays list to random values and only then did I finally pass this challenge.
Chris Freeman
Treehouse Moderator 68,428 PointsUnfortunately, my workaround fix "expired" on 9 Aug 2019, since today
continuously moves. :-) A bug report has been filed.
Chris Freeman
Treehouse Moderator 68,428 PointsChris Freeman
Treehouse Moderator 68,428 PointsThere may be a bug in the checker due to international local time verses the challenge checkers local time. I noticed that one of the dates in the sample data is 9 Aug 2006 which is exactly 13 years ago today! Please try your code tomorrow to see if it still works as is. If so, I'll file a bug report. Thanks for your patients!