To make indentation and other details visible, you should format code when you post it. See How do I format code in my posts?.
Instruction 4 states ...
if that number is divisible by
by_three should call
cube(number) and return its result. Otherwise,
by_three should return
Instead of calling
cube(number), your function calls
by_three(number). A function's calling itself is known as recursion. In this particular case, the function calls itself repeatedly, until the maximum depth of recursion is reached. Recursion is useful in some situations, but when it is used, a base case needs to be defined that limits its depth.
Recursion should not be used for this exercise.