## 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.

# I am not sure if I am using the return or len functions properly. Any advice would be great!

I am trying to use the len function to find the length of a string-I don't think I am doing it properly. I also am not sure about the return function.

squared.py
```def squared("example"):
try:
return(((len("example") ** len("example")))
except:
ValueError

# EXAMPLES
# squared(5) would return 25
# squared("2") would return 4
# squared("tim") would return "timtimtim"
```

Slight mistake on the structure of it but don't worry, I will explain all.

Here's my solution.

```def squared(num):
try:
return (int(num) ** 2)
except ValueError:
return (str(num) * len(num))
```

Firstly we create a new parameter that is not a string like in yours, it's like a variable in a way!

Then we are using `try` to convert it to an integer, so we place an attempt to convert to an integer in the try block:

```int(num) # <-- this converts something to an integer
```

With this inside the try block we try to make it an integer. If this doesn't work then we catch the error and have a solution to handle the problem, which is the except block.

```except ValueError:
return (str(num) * len(num))
```

Then in the except block we return the parameter but convert it to a string if it isn't one already, then return it as many times as it is long.

Hope this helps!

Thank you!