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

I want this to print all on one line

I have the code down so it runs correctly i just wanted to know how to make it print all on one line.

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(arg):
    #something to iterate through string
    new_list = arg.split()
    word_dict = {}
    #count how many times a word is in the string 
    for item in new_list:
        instances = new_list.count(item)
        word_dict.update({item.lower():instances})
        print word_dict

    #put into dict


word_count("I do not like it Sam I Am")

1 Answer

Andrey Misikhin
Andrey Misikhin
16,529 Points

You put the print in cycle and forgot parentheses for print.

def word_count(arg):
    #something to iterate through string
    new_list = arg.split()
    word_dict = {}
    #count how many times a word is in the string 
    for item in new_list:
        instances = new_list.count(item)
        word_dict.update({item.lower():instances})
    print (word_dict)

word_count("I do not like it Sam I Am")