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

Michael Dinnall
Michael Dinnall
6,730 Points

final function working as expected Any advice?

Here is the code I have :

def add(num1,num2): try: arg1 = float(num1) arg2 = float(num2) except ValueError: None else: return arg1 + arg2

but this isnt working, I am a little confused on what I did wrong. Any help is appreciated

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

1 Answer

Steven Parker
Steven Parker
229,708 Points

It looks like an indentation issue.

Everything that is part of a function must be indented more than the function definition line.

Michael Dinnall
Michael Dinnall
6,730 Points

Hi Steven, i rewrote it with your suggestion and still got the same "try again" error. Here is the revised code:

def add(num1,num2): try: arg1 = float(num1) arg2 = float(num2) except ValueError: None else: return arg1 + arg2

Steven Parker
Steven Parker
229,708 Points

I can't tell if the indentation is correct in unformatted code.

When posting code, always use the instructions for code formatting in the Markdown Cheatsheet pop-up below the "Add an Answer" area. :arrow_heading_down:   Or watch this video on code formatting.

Michael Dinnall
Michael Dinnall
6,730 Points

i just read it herei s the correct formating, sorry about that

def add(num1,num2):
      try:
        arg1 = float(num1)
        arg2 = float(num2)
        except ValueError:
             None
        else: 
            return arg1 + arg2
Steven Parker
Steven Parker
229,708 Points

The indentation still needs some adjustment. The try, except, and else should all line up in the same column. And be consistent about the amount of each "stop". Typical stops are every 4 spaces (4, 8, 12, 16, etc.).

Michael Dinnall
Michael Dinnall
6,730 Points

Thanks! I keep thinking if it's fine in javascript then I should be able to do the same in python. Thanks for that clarification it helped a lot