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

Hjalte Bøgehave
Hjalte Bøgehave
6,367 Points

Can't get covers_all to work and don't know why

When i walk through the cover_all code it really should work in my head. Can anyone spot my mistake?

Thanks!

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):
    finish = []

    for keys, values in COURSES.items():
        if topics & values:
            finish.append(keys)
    return finish

def covers_all(topics):
    finish = []

    for keys, values in COURSES.items():
        if topics >= values:
            finish.append(keys)
    return finish

1 Answer

Steven Parker
Steven Parker
229,644 Points

The goals of "covers" and "covers_all" are pretty similar except that in "cover" you only care that some overlap exists, but in "covers_all" the overlap must be the same as the agument set.