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

trial.py Python basics test help. The last questions asks to use try: and I am having difficulty with syntax I think

MY CODE: def add(num, nums): try: return(float(num) + float(nums)) except ValueError: return None else: return(add)

Q1. Not sure what to return in else: Q2. what is wront with syntax that the test fails every time...

trial.py
    def add(num, nums):
        try:
            return(float(num) + float(nums))
            except ValueError:
                return None
            else:
                return(add)

2 Answers

This is what the problem asks for:

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.

So its looking for an else.

I tried the following as well.. still no luck. I tried a lot of different indentions....

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

Steven Parker
Steven Parker
231,271 Points

The instructions say "If you're following the structure from the videos, add an else...", but your original code had a different structure by having a "return" in the "try" block. For that code, the "else" is not needed, and also not necessary to pass the challenge. I used that method myself when I did this course.

I can't see the formatting of the code shown above, but if you've fixed the indentation issues this code should also pass.

For future postings, 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.

Steven Parker
Steven Parker
231,271 Points

You have a bit of an indentation issue. The "try", "except" and "else" should all line up vertically. And the "def" line should start at the first column.

Also, you don't really need the "else". Since both the "try" and "except" sections have a "return", the "else" will never get used.