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

Oprea Mihai
Oprea Mihai
5,592 Points

sets-covers

It doesn't work here but in Pycharm it works fine. Can you help me ?

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(param):
    param={param}
    b=[]
    for key,value in COURSES.items():
        try:
            c=param&value
            if c!=set():
                b.append(key)
        except:
                continue
    return b

2 Answers

Greg Kaleka
Greg Kaleka
39,021 Points

Hi Oprea,

Based on the instructions, covers should take a set as an argument. That means that your first line (inside the function) is not needed.

Also, just a general tip - stay away from single letter variables. They can get you into trouble since there are some system-level ones, and it also makes your code much harder to understand. Giving good, descriptive names is much more important than saving keystrokes.

Cheers :beers:

-Greg