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 trialFinlay Schlieper
6,935 PointsDon't know whats wrong. Please Help. Tried to do it with what I have learnt solely from treehouse.
Thanks.
# The dictionary will be something like:
# {'Jason Seifer': ['Ruby Foundations', 'Ruby on Rails Forms', 'Technology Foundations'],
# 'Kenneth Love': ['Python Basics', 'Python Collections']}
#
# Often, it's a good idea to hold onto a max_count variable.
# Update it when you find a teacher with more classes than
# the current count. Better hold onto the teacher name somewhere
# too!
#
# Your code goes below here.
def most_classes(dict):
var_x = {}
for key in dict:
var_x[key] = len(dict[key])
var = 0
for i in dict.values():
if i > var:
var = i
winner = None
for key in dict:
if dict[key] == var:
winner = key
return winner
2 Answers
Bryan Laraway
13,366 PointsHi Finley,
Looks like you are close, but perhaps overcomplicating things a little bit. I posted my answer below. I set up a winning teacher variable and a max number of classes variable, then iterated over the dictionary, replacing the winner with the teacher name and set the max_classes if the teacher was teaching more classes than previously recorded.
Hope that helps!
def most_classes(dict):
winner = None
max_classes = 0
for teacher in dict:
if len(dict[teacher]) > max_classes:
winner = teacher
max_classes = len(dict[teacher])
return winner
Finlay Schlieper
6,935 PointsThanks