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 (2016, retired 2019) Dictionaries Word Count

Luis Johnson
Luis Johnson
2,120 Points

Grader is not accepting my submission even when I tested the function using the interpreter. am I missing something?

My implementation is returning the expected result according to the instructions. Maybe I'm missing a requirement but not sure which.

# E.g. word_count("I do not like it Sam I Am") gets back a dictionary like:
# {'i': 2, 'do': 1, 'it': 1, 'sam': 1, 'like': 1, 'not': 1, 'am': 1}
# Lowercase the string to make it easier.
def word_count(input_word):
    #Initialize an empty dictionary
    word_dict = {}

    #Lower case and split string
    word_list = input_word.lower().split(' ')

    #Iterate word list
    for word in word_list:
        #Initialize word ounter
        word_counter = 0
        #Iterate word list, comparing current word
        #with every elemen in the list word
        for index in range(len(word_list)):
            if word == word_list[index]:
                word_counter += 1
        #Update dictionary with number of occurrences
        #of the current word
    return word_dict

1 Answer

Jennifer Nordell
Jennifer Nordell
Treehouse Teacher

Hi there! You're missing two tiny things: a comprehensive test dataset and the instructions to split on all whitespace. My guess is that you've only tried a string that contains spaces and no tabs or newline characters. But tabs and newline characters are also whitespace.

Currently, you're only splitting on spaces.

To split on spaces we use split(' '), but to split on all whitespace we simply eliminate the argument like so: split().

Hope this helps! :sparkles:

Luis Johnson
Luis Johnson
2,120 Points

Thank you, Jennifer! Now, everything is crystal clear.