0

I'm trying to cube the number in this function, but Codecademy says it isn't returning the right result. Could anyone help?

def cube(number):
    return number**number
def by_three(number):
    if number % 3==0: 
        return cube(number)
    else: 
        return False
Eric Wilson
  • 51,818
  • 71
  • 192
  • 262
user4583569
  • 109
  • 1
  • 1
  • 7

3 Answers3

3

Because it is not a cube. Cube is: number ** 3

Sergius
  • 743
  • 7
  • 19
1

In case you are interested in one liner of this function check this out:

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

If you are interested in how this is done check ternary operator in python

Community
  • 1
  • 1
kuskmen
  • 3,298
  • 4
  • 22
  • 45
1

Given your cube function, you are doing

n^n 

for example, given n = 4, what you are really doing is 4*4*4*4

And it work only on 3 or it's multiple, given the line

if number % 3==0:
Gianluca
  • 2,831
  • 2
  • 32
  • 28