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 trialtomasmotycka
7,158 Pointswordcount.py, what is wrong?
What exactly is wrong? The elements of code seem to be right.
Many thanks, Tomas
# 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(my_str):
my_dict = {}
lower_str = my_str.lower()
sliced_str = lower_str.split(" ")
for item in sliced_str:
my_dict[item] = sliced_str.count(item)
return my_dict
word_count("how do you do")
4 Answers
Jon Mirow
9,864 PointsThis question seems to have a syntax checker. If you use .split(" ") instead of .split() you fail, even if your output is correct.
I think the reason is to remind you that by default, split will break on all white space, (" ") is just if you want to break on spaces.
tomasmotycka
7,158 PointsThank you Jon, I didnยดt know the thing about split().
tomasmotycka
7,158 PointsVery strange, a difference standing between Treehouse accepting the code as successfull is in indentation. I is OK when I changed it this way:
my_dict = {}; lower_str = my_str.lower() sliced_str = lower_str.split()
instead of
my_dict = {} lower_str = my_str.lower() sliced_str = lower_str.split()
And this have happened a several times in workspace.
Toby Loader
6,647 PointsI had the same problem as you, and I've been stuck trying to figure out what was wrong... Thanks Jon!