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 trialTyler Hoerner
5,534 PointsPython Collections Challenge: It seems like I get the correct answer, but the challenge disagrees.
When I run this in the workspace it seems to give the correct answer. Please point me in the right direction.
Thanks!
# 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):
string = string.lower()
dictionary = {}
for x in string.split(" "):
if x in dictionary.keys():
dictionary[x] += 1
else:
dictionary[x] = 1
return dictionary
1 Answer
Robin Goyal
4,582 PointsYou are incredibly close! The only minor detail is that when you are splitting the string for the for
loop, you don't want to split on the space character only. This ignores whitespace such as tab characters and newline characters. If you omit any string for the split function, it'll by default split on all whitespace. You can see this in the examples below.
>>> string = "This is the Treehouse\nPython Track"
>>> print(string)
This is the Treehouse
Python Track
>>> string.split(" ")
['This', 'is', 'the', 'Treehouse\nPython', 'Track']
>>> string.split()
['This', 'is', 'the', 'Treehouse', 'Python', 'Track']
So in string.split(" ")
, the newline character between Treehouse and Python isn't removed since it doesn't match the space character but string.split()
with no argument will remove any whitespace.
Tyler Hoerner
5,534 PointsTyler Hoerner
5,534 PointsThat did the trick! Thanks Robin