Is this correct?


def cube(number):
return number ** number

def by_three(number):
if number % 3 == 0:
return by_three(cube(number))
return False

The instructions:

First, def a function called cube that takes an argument called number . Don’t forget the parentheses and the colon!

Make that function return the cube of that number ( i.e. that number multiplied by itself and multiplied by itself once again).

Define a second function called by_three that takes an argument called number .

if that number is divisible by 3, by_three should call cube(number) and return its result. Otherwise, by_three should return False .

Don’t forget that if and else statements need a : at the end of that line!


No, it is not correct because there is a recursion (function calls itself).

return cube(number)

From this we see that we can return a call to a function. The call will take place immediately, so its return value will be what is returned from the by_three() function…


That’s a huge exponent. It should be a 3.


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.