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
  • 57,719
  • 77
  • 200
  • 270
user4583569
  • 109
  • 1
  • 1
  • 8

3 Answers3

3

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

Sergius
  • 908
  • 8
  • 20
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,648
  • 4
  • 27
  • 54
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
  • 3,227
  • 2
  • 34
  • 35