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

Can someone please explain what this prompt is asking for? It makes no sense to me.

Let's write some functions to explore set math a bit more. We're going to be using this COURSES dict in all of the examples. Don't change it, though!

So, first, write a function named covers that accepts a single parameter, a set of topics. Have the function return a list of courses from COURSES where the supplied set and the course's value (also a set) overlap.

For example, covers({"Python"}) would return ["Python Basics"].

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"}
}

1 Answer

Steven Parker
Steven Parker
231,269 Points

Perhaps it would help to restate the instructions as a list of requirements:

  • make a function named "covers"
  • the function will take a parameter
  • the parameter will be a set of topic names
  • the function will create a new list, which it will return
  • the list will be made from the course names in the dictionary "COURSES"
  • the "COURSES" dictionary uses course names as keys and sets of topics as the values
  • include any course where the set of topics in the course overlaps with the set of topics in the parameter

@ Steven Parker thank you, I was just having a difficult time digesting the wording of the exercise.

Just wanted to say Fantastic Answer. I was having a little trouble with this excersise as well, but your breakdown helped me to work out the answer. Thanks!