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 (Retired) Dictionaries Teacher Stats

couldnt get the main idea

def most_classes(dicts): most_class = "" # holds the name of teach with most class max_count = 0 # max counter for classes for teacher in dicts: if len(dicts[teacher]) > max_count: max_count = len(dicts[teacher]) most_class = teacher return most_class

is this code find the teacher had the most class or teachers have classes > 0 .

teachers.py
# 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(dicts):
  most_class = ""     # holds the name of teach with most class
  max_count = 0       # max counter for classes
  for teacher in dicts:
    if len(dicts[teacher]) > max_count:
      max_count = len(dicts[teacher])
      most_class = teacher
  return most_class

2 Answers

Hi Ilhan,

In a way, it's both of those things but the purpose of this function is to find the teacher with the most number of classes.

When the for loop first starts off, you're looking for a teacher that has more than zero courses because you've initialized your max_count variable to zero.

Presumably this will be the first teacher but once you find a teacher with more than zero courses you will go into the if block and update your variables with the info for this teacher. This is now the current maximum.

From that point on you're no longer looking for teachers with courses > 0. You're looking for a teacher that has more courses than what the current maximum is.

Is that what you were asking about?

Hi Jason, i get the idea , last challenges also made me see the light :) Thanks a lot.