Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Python Functional Python Functional Workhorses Map and Filter

i am stuck here

i cant figure this one out

birthdays.py
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):

def date_string(dt): return dt.strftime("%B %d")

birth_dates = map(date_string, filter(is_over_13, birthdays))

1 Answer

You will probably do better if you actually include the question that has you stumped, as well as what happens when you try it.

You have part of the is_over_13 question, but not all of it, is that where you are having trouble?

You can find the difference between two dates with subtraction

ddiff = today - whenever

And you can find the number of days in that difference by looking at the days attribute

# Here are the number of days
ddiff.days

And now all you should need to do is compare that to the number of days in 13 years, and return True or False depending on whether it is great or not.

If you are concerned by the last part, where you are supposed to combine your functions with map and filter, then I suggest you start by breaking it up. First use filter and date_string to filter only the birthdays that are 13 years or older.

Then feed the results of filter into map, and use the data_string function to format them properly.

This challenge seems to be hard for me all of that drains my brain cells so may if I can get how to solve it then I will figure out how it is done