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 trialElsone Lottering
2,775 PointsHi guys. What's wrong with my code?
def suggest(product_idea):
if len (product_idea) <= 3:
raise ValueError("Less than 3 characters long.")
return product_idea + "inator"
2 Answers
Jason Anders
Treehouse Moderator 145,860 PointsYou are so very close. :)
It is just one small error. You have the return
statement inside of the if block
that is raising the ValueError
because the string is too long, so the return cannot run. Just remove the indent so that it is outside of the if block
but still inside the function. Then it will pass.
Just a couple of other notes to help you along. Coding is very specific and instructions should be carefully watched. Even though the your code will pass the challenge with that one fix, it wasn't exactly what was asked. You are asked to raise the ValueError
if the product_idea
is less than 3 characters, and your code is checking for less than and equal to 3 character, which can be a huge issue in real-world applications... so just watch for those tiny details.
Also, whitespace is really important in Python, so it's good practice to always abide by PEP8 guidelines on formatting. In the code, your if statement
has an extra space between the method call and the parentheses =>
if len (product_idea) <= 3:
# should not have a space...
if len(product_idea) <= 3:
Otherwise, GREAT JOB!! 😀
Elsone Lottering
2,775 PointsHi Jason Anders
Thank you for the great response and for the extra tips. I will surely keep it in mind.
One more thing though, it is off topic, but I need help understanding the loop keyword. I need a different explanation to the one in the video, as I've watched the video a couple times, still can't seem to understand it.