Reputation: 191
I've been going through Codecademy's Python course and I'm currently stuck on 6/19 of the functions chapter. I managed to write the code according to the instructions but I decided to tinker with it a little. This was the initial code I wrote:
def cube(number):
return number**3
def by_three(number):
if number % 3 == 0:
return cube(number)
else:
return False
However, I wanted it to print out the result according to the number I would input in the parentheses below. So this is what I wrote:
def cube(number):
return number**3
def by_three(number):
if number % 3 == 0:
return cube(number)
print cube(number)
else:
return False
print "False"
cube(5)
I didn't get any errors, but I didn't get the print I wanted either. However, when I put the code in a different Python editor, I got a syntax error on line 6.
What am I missing here?
Upvotes: 0
Views: 909
Reputation: 1121276
Your print
statements never get executed for two reasons:
They follow after the return
statements. return
exits a function at that point, and any further statements in the function body are ignored as they are never reached.
You call the cube()
function, not the by_three()
function.
Move your print
statements before the return
lines, and call he correct function:
def by_three(number):
if number % 3 == 0:
print cube(number)
return cube(number)
else:
print "False"
return False
by_three(5)
You can replace the print
lines with print()
function calls to make the code work in a Python 3 interpreter.
Upvotes: 3