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!
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
Haitao Huang2,834 Points
How do I check if a variable is an integer or not?
This challenge is similar to an earlier one. Remember, though, I want you to practice! You'll probably want to use try and except on this one. You might have to not use the else block, though. Write a function named squared that takes a single argument. If the argument can be converted into an integer, convert it and return the square of the number (num ** 2 or num * num). If the argument cannot be turned into an integer (maybe it's a string of non-numbers?), return the argument multiplied by its length. Look in the file for examples.
# EXAMPLES # squared(5) would return 25 # squared("2") would return 4 # squared("tim") would return "timtimtim" def squared(argument): try: if int(argument) == argument: return int(argument) ** 2 except ValueError: return argument * len(argument) squared("cake")
Christopher ShawPython Web Development Techdegree Graduate 58,248 Points
You almost have it, only squared("2") would return 4 will not work and that is quite easliy sorted by removing the line if int(argument) == argument: as this only lets original integers pass.
def squared(argument): try: return int(argument) ** 2 except ValueError: return argument * len(argument)