Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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.