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 Basics (2015) Number Game App String length

def function problems:

I've tested my codes, it works perfect, but I can't pass the task

the taks is: Create a new function named just_right that takes a single argument, a string. If the length of the string is less than five characters, return "Your string is too short". If the string is longer than five characters, return "Your string is too long". Otherwise, just return True.

strlen.py
def just_right(one_string):
    if len(one_string) < 5:
        print("Your string is too short")
    elif len(one_string) > 5:
        print("Your string is too long")
    else:
        return True

5 Answers

The challenge is not asking you to print the string ... it asking you to return the string.

pay attention to this:

print("Your string is too short")

it needs to be a return statement

Oh, no....am so careless, thank you mark.

BTW: what's the purpose for return, return can't get anything back on the screen.

I think this post explains how print and return are different. I understand it is in Swift, but still, just ignore the code, read the answers :)

Simple answer to this question:

Print displays a value onto the screen.

Return actually returns a value that can be later processed. Keep in mind that return doesn't print anything (unless you print the return value).

I hope this helps. ~Alex

By the way, does anybody want to try out my challenge? :)

Hi

this may help

def just_right(one_string):
    if len(one_string) < 5:
        return("Your string is too short")
    elif len(one_string) > 5:
        return("Your string is too long")
    else:
        return True
#
#
my_return = just_right("hell")
print(my_return)
#
#If this was a banking app ... and I return am account balance, then 
#I can use this return account balance to approve a purchase for example

It's just like, when you are going to create an account on a website, they request an ID, if you only type hell, the web will show you, sorry, your ID is too short, right? something like that?

right ... the value is returned and then it get sent to another function to check if this id valid (example ... look up in a database) ... if found and the password is ok ... then you are in ... otherwise, you get a declined.

Thank you for your patient, thanks a lot.