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

Atıl Kurtulmuş
Atıl Kurtulmuş
4,945 Points

What is wrong with this code?

works perfectly on pycharm workshop is being stubborn again

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.
def word_count(string):
    splitted = (string.lower()).split(" ")
    dic = {}
    for word in splitted:
        counted = splitted.count(word)
        dic[word] = counted

    return dic
Zach Anderson
Zach Anderson
3,691 Points

I had this issue as well. Your code works... but there's another very specific gotcha they don't make very clear. The test/evaluation script will pass a test string (or maybe more... we'll never know!) into the function and compare it to see if you did it right.

What isn't clear in this exercise is that the test string will use other whitespace characters... not just spaces. ~Technically~ they request the words and do not specify at all what type of whitespace will separate the words. It was my assumption that it would be testing with a similarly clean sentence like the example.

So .split(" ") needs to be .split() which splits against ANY whitespace character including newline and whatnot.

Please mark this as an answer if it helped. Happy coding! -Zach