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 trialJD Vila
8,095 PointsThis code works in command line, but not on Treehouse
So even though this brings the desired results in my terminal Python environment, Treehouse says that my code is wrong. Please help!
Code:
def word_count(sentence): my_sentence = sentence.lower() my_dict = {} sentence_list = my_sentence.split(" ") for word in sentence_list: if word in my_dict: my_dict[word] = int(my_dict[word]) + 1 else: my_dict[word] = 1 return my_dict
# 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(sentence):
my_sentence = sentence.lower()
my_dict = {}
sentence_list = my_sentence.split(" ")
for word in sentence_list:
if word in my_dict:
my_dict[word] = int(my_dict[word]) + 1
else:
my_dict[word] = 1
return my_dict
1 Answer
Jennifer Nordell
Treehouse TeacherHi there! You're very close on this one! The key here is having it split on all whitespace. My guess is that you haven't tried running this code with any strings that contain tab characters and newline characters. Those are also whitespace.
Currently, your code is splitting on all spaces, but it should be splitting on all whitespace including tabs and newlines. So, if I change just one teensy thing, your code passes.
To split on all spaces we use split(" ")
, but to split on all whitespace we use just split()
with no arguments.
When I remove the arguments in split()
, your code passes with flying colors! All in all, well done!
JD Vila
8,095 PointsJD Vila
8,095 PointsThank you so much, Jennifer! Appreciate the pointer!