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

Bob Fitzgerald
Bob Fitzgerald
87 Points

not accepting a working answer

I'm using the collections to count the words, in the workspace it works perfectly fine

wordcount.py
# 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.
import collections
string = 'The black cat layed down in the black night'
def word_count(string):
    thestring = string.lower()
    thelist = thestring.split(' ')
    d = collections.defaultdict(int)
    for c in thelist:
         d[c] += 1
    return (d)

word_count(string)

1 Answer

Jennifer Nordell
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
Jennifer Nordell
Treehouse Teacher

Hi there! You are super close and It does work partially. Take a closer look at the Bummer! message.

Bummer! Hmm, didn't get the expected output. Be sure you're lowercasing the string and splitting on all whitespace!

My guess is that you've tried strings with spaces, but no strings with tabs or new line characters. The challenge asks you to split on all whitespace, not just spaces. Your code is currently only splitting on spaces as indicated by the split(' '). To make Python split on all whitespace use split without any arguments: split().

If I remove the arguments from your split(), it passes the challenge with flying colors! :sparkles:

Bob Fitzgerald
Bob Fitzgerald
87 Points

ah! thank you very much!