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 trialJoel Price
13,711 PointsTask 4 of teachers.py no longer passing after editing code for task 5?
Did I use a string or something somewhere that contradicts with the previous task?
# The dictionary will look something like:
# {'Andrew Chalkley': ['jQuery Basics', 'Node.js Basics'],
# 'Kenneth Love': ['Python Basics', 'Python Collections']}
#
# Each key will be a Teacher and the value will be a list of courses.
#
# Your code goes below here.
def num_teachers(dic):
return len(dic)
def num_courses(dic):
total = 0
for i in dic:
total += len(dic[i])
return total
def courses(dic):
thing = []
for value in dic.values():
thing += value
return thing
def most_courses(dic):
max_count = 0
teacher_most_classes = " "
for key in dic:
if len(dic[key]) > max_count:
max_count = len(dic[key])
teacher_most_classes = key
return key
def stats(dic):
outer_list = []
for key in dic:
inner_list = []
inner_list.append(key)
inner_list.append(len(dic[key]))
outer_list.append(inner_list)
return outer_list
1 Answer
Stuart Wright
41,120 PointsThat's odd. This is the second time I've seen someone post code that fails task 5 for the same reason. And both times the code for task 4 has actually been wrong, so I wonder how task 5 was reached in the first place! :)
You are almost correct. You just need to return 'teacher_most_classes' rather than 'key' for task 4. That way you are returning the teacher with the most courses, rather than simply the last key in the loop.
Your code for task 5 is correct.
My guess (and it is just a guess) is that your code passed task 4 because 'key' happened to contain the same value as 'teacher_most_classes' when Treehouse tested it, and it was therefore considered correct. Such is the unordered nature of dictionaries, it is possible that the code could pass the challenge by chance on one occasion, but not another.
Joel Price
13,711 PointsJoel Price
13,711 PointsThat is strange that it's letting me pass if my code is bad. But that seems to have done the trick! Thank you!