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 Squared

define the name?

it works for an intager but if i call a string then it wont recognise it??

how do i solve this?

can you explain it in detail please?

thank you

squared.py
# EXAMPLES
# squared(5) would return 25
# squared("2") would return 4
# squared("tim") would return "timtimtim"
def squared(x):
    try:
        return(int(x**2))

    except ValueError:
            return(x*len(x))

squared(name)

1 Answer

Carlos Federico Puebla Larregle
Carlos Federico Puebla Larregle
21,074 Points

When you call the function you have to be careful, if you are going to pass a variable named "name" as a parameter, you have to defined it first. And when you use the int() method you have to put only the variable that you're going to try to "parse" and then you apply the power to it. You could do it like this:

# EXAMPLES
# squared(5) would return 25
# squared("2") would return 4
# squared("tim") would return "timtimtim"
def squared(x):
    try:
        return int(x)**2
    except ValueError:
        return x*len(x)

squared("name")

I hope that helps a little bit.