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) Logic in Python Try and Except

I am having difficulty answering a float question?

This was the question I was struggling with, "You're doing great! Just one more task but it's a bigger one. Right now, we turn everything into a float. That's great so long as we're getting numbers or numbers as a string. We should handle cases where we get a non-number, though. Add a try block before where you turn your arguments into floats. Then add an except to catch the possible ValueError. Inside the except block, return None. If you're following the structure from the videos, add an else: for your final return of the added floats."

trial.py
def add(num1, num2):
    return num1 + num2
def add(num1, num2):
    a = float(num1)
    b = float(num2)
    return a + b
def add(num1. num2):
    try:
        a = float(num1)
        b = float(num2)
        except ValueError:
            return None
        else:
            return true

2 Answers

Hi Michael,

I noticed a small typo in the functions parsed values. You've used a period "." instead of a comma ",".
Next is the indentation, your "except" statement should be in line with the "try" statement.
I didn't bother with the "else" I just used try and if it was successful I added the two nums and returned that.
e.g. of my structure below;

Good luck mate!

def add(num1, num2):
    try:
        #converting the 2 nums to float, adding them together then assigning that result to a variable.  
        #return new variable
    except ValueError:
        return None
Steven Parker
Steven Parker
229,644 Points

You seem to have 3 separate versions of the function there, but only the last one counts. You can remove the first 2 to simplify things.

Then, you have a few issues:

  • the arguments should be separated by a comma instead of a period
  • the indentation of the "except" and the "else" must line up with the "try"
  • the final return should be the numbers added together, instead of "true"