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 trialAnnie Livingstone
1,844 PointsCould someone tell me why my code isn't returning the right output?
I've checked out other answers and seen an answer that works:
def covers(set_of_topics): output = [] for course, value in COURSES.items(): if set_of_topics & value: output.append(course) return output
But I'm still not seeing why mine doesn't work! Anyone have an answer? Thanks!
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(set_of_topics):
output = []
for course in COURSES:
if set_of_topics & COURSE[course]:
output += course
return output
1 Answer
Dave StSomeWhere
19,870 PointsTwo issues pop out to me (try executing your code and these should be easy to see), Glad to see you are using intersection here - the main focus of the challenge.
- You reference
COURSE[course]
- shouldn't that beCOURSES[course]
- Your assignment will be like extend() and add each letter of your string literal as an entry in your output variable. Try using append() and you should pass. (would be worthwhile to test and see the difference between the two).
Annie Livingstone
1,844 PointsAnnie Livingstone
1,844 PointsThanks Dave! Super helpful!