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

Christian A. Castro
Christian A. Castro
30,501 Points

Write a function named covers that accepts a single parameter, a set of topics. Any idea what I might be doing wrong??

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(arg):
    get = []
    for key, values in COURSES.items():
        if values & arg:
            get.append(key)
    return get
covers({'Ruby'})

1 Answer

So, it says that the input to the function will be a set. That means you need another loop inside the one you have to check each topic passed in the input arg, and you want to check if the topic is in values.

Let us know how you go with that, or if you need a little more help!

Also, you don't need to call the function at the end, the challenge system will do that automatically.