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 trialKaleb Prado
4,797 PointsRegEx find_words challenge problem
What exactly is wrong with my code? The error message it gives me is 'Bummer: Didn't get the right output. Output was []. Length was 6.' I have looked at it a lot and cannot figure out what exactly I did wrong and am getting frustrated. It is just supposed to return a list of words that are are count words or more based on a given string
import re
# EXAMPLE:
# >>> find_words(4, "dog, cat, baby, balloon, me")
# ['baby', 'balloon']
def find_words(count, string):
return re.findall(r"\w{count,}", string)
1 Answer
Peter Vann
36,427 PointsHi Kaleb!
Your main issue is that you are trying to use a variable in your regex string, but it is being treated literally.
You need to do something like this (it passes):
import re
# EXAMPLE:
# >>> find_words(4, "dog, cat, baby, balloon, me")
# ['baby', 'balloon']
def find_words(count, string):
return re.findall(r'\w{' + str(count) + ',}', string)
This is what injects the variable into the string effectively:
' + str(count) + '
Note that to avoid a concatenation error the integer needs to be cast to a string when concatenating the regex string.
I hope that helps.
Stay safe and happy. coding!
Kaleb Prado
4,797 PointsKaleb Prado
4,797 PointsThank you