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

why its showing didnt got right output

i tried and it was correctly working in idle but not working here why

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):
    list_courses=[]
    for course in COURSES:
        if topics in COURSES[course]:
            list_courses.append(course)

    return list_courses

1 Answer

in checks if a value is within an iterable. But COURSES[course] is a one-dimensional set, which could not possibly contain another set.

Try using the method intersect instead.

If you need more hints, feel free to ask.

hi alexander can you just show give an example where it won't run properly just to understand it more cleary beacuse i tried add a set in dictionary in keys but it does'nt work so if can't add a set then i should worry about about another set. Thnks again!! sry i ask very silly doubts but this one is really troubling me

For example,

If COURSES[course] were {"Python", "functions", "variables", "booleans", "integers", "floats", "arrays", "strings", "exceptions", "conditions", "input", "loops"}, and you are checking with the topics being {"HTML", "strings"}, course should be included in the result because of the "string" overlap.