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 trialSoren Coughlin-Glaser
580 Pointstrial.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...
def add(num, nums):
try:
return(float(num) + float(nums))
except ValueError:
return None
else:
return(add)
2 Answers
Soren Coughlin-Glaser
580 PointsThis 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
231,236 PointsYou 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.
Steven Parker
231,236 PointsSteven Parker
231,236 PointsThe 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. Or watch this video on code formatting.