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!
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
Deepak Nautiyal7,235 Points
[Solved] This test "....find_words() that takes a count and a string...." works in my console but fails online
Here is the piece of code that I am using for the test
def find_words(count, str): new_list =  for item in str: if re.search(r'\w'*count, item): new_list.append(item) return new_list
This gives correct result for below strings
print(find_words(4, ['cat','doll','baby','ballon','me','123'])) print(find_words(6, ['doll','me','InM','123456', 'Treehouse', 'student', 'Kenneth', 'Python', 'g0tcha']))
However, this script does not pass the test. It seems to return empty list.
Can anyone help?
import re # EXAMPLE: # >>> find_words(4, "dog, cat, baby, balloon, me") # ['baby', 'balloon'] def find_words(count, str): new_list =  for item in str: if re.search(r'\w'*count, item): new_list.append(item) return new_list
Russell SawyerFront End Web Development Techdegree Student 15,705 Points
I have noticed when assigning variables that are dedicated variables like str can cause some issues with passing these challenges.
Also, when you are searching through a string re.findall works best when looking for all the words in a string.
Lastly, re.findall requires 2 items: what you are looking for, followed by a coma, and what you are looking in. In this case your words are in the string variable.
This is the code that worked for me.
def find_words(count, string): return re.findall(r'\w+' * count, string)