So, you're not dividing by 3, you're finding the div. What you want to do is make sure that the number is both divisible by 3, and evenly divisible by 3. You're on the right track, because you do need a div, but you also need to divide. Create an and statement that checks the number for divided by 3 and that the div of it by 3 is 0. This makes sure that any number greater than 3 does not just pass through the code and get squared.

Also, putting the by_three = False makes the whole function false, so you want to make it return False instead.

def cube(number):

number = number**3

return number

def by_three(number):

if number / 3 and number % 3 == 0:

return cube(number)

else:

return False