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 Python Collections (2016, retired 2019) Sets Set Math

Fernando Santos
Fernando Santos
11,267 Points

I can't realize what is wrong

The code is running as required on my workspace, but they don't accept it in the code challenge. I can't realize what's wrong.

sets.py
COURSES = {
    "Python Basics": {"Python", "functions", "variables",
                      "booleans", "integers", "floats",
                      "arrays", "strings", "exceptions",
                      "conditions", "input", "loops"},
    "Java Basics": {"Java", "strings", "variables",
                    "input", "exceptions", "integers",
                    "booleans", "loops"},
    "PHP Basics": {"PHP", "variables", "conditions",
                   "integers", "floats", "strings",
                   "booleans", "HTML"},
    "Ruby Basics": {"Ruby", "strings", "floats",
                    "integers", "conditions",
                    "functions", "input"}
}
def covers(topics):
    answer = []
    for course in COURSES.keys():
        if COURSES[course]&topics == topics:
            answer.append(course)
    return answer

1 Answer

Chris Freeman
MOD
Chris Freeman
Treehouse Moderator 68,441 Points

You are very close. You currently are logically anding whether a course is in Courses (always True) and whether topics is equivalent to itself (also, always True).

Perhaps you meant to and two sets which returns a "truthy" value if there exists common elements:

        COURSES[course] & topics:

Also, the default condition when looping over a dict is to use the dict keys. So the following two are equivalent:

    for course in COURSES.keys():

    for course in COURSES

Post back if you need more help. Good luck!!