Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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
220,476 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
220,476 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
220,476 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