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

Karl Long
Karl Long
1,661 Points

add an except to catch the possible ValueError. Inside the except block, return None.

I cannot get this to work, what's wrong with it? Thanks

trial.py
try:
    num1 = int(input("N1 please: "))
    num2 = int(input("N2 please: "))
except ValueError:    
    return None
else: 
    num1 = float(num1)
    num2 = float(num2)
    return(num1 + num2)
Christopher Janke
Christopher Janke
11,054 Points

You appear to be doing too much work here. You are over thinking the challenge :-). In your Try: block num1 = float(num1) and num2 = float(num2). Your except block is good. In your else: block simply return num1 + num2

Hope this helps

1 Answer

Chris Freeman
MOD
Chris Freeman
Treehouse Moderator 68,441 Points

The challenge asked for a function. Wrap the code with a function definition

def add(num1, num2):

Then follow Christopher Janke's advice on fixing try and else blocks.

Karl Long
Karl Long
1,661 Points

Thanks Guys, still not gwtting it over the line with this.....

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

[MOD: added ```python formatting -cf]