2016-02-14 20 views
-6

首先,定义一个名为cube的函数,该函数接受一个名为number的参数。不要忘记括号和冒号! 使该函数返回该数字的立方体(即该数字乘以自身并再次乘以自己)。 定义称为by_three的第二个函数,它接受一个名为number的参数。 如果该数字可以被3整除,则by_three应该调用cube(数字)并返回其结果。否则,by_three应返回False。功能中的返回号码

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

这个答案有什么错误。它显示哎呀,再试一次。 by_three(3)返回3而不是27

+4

欢迎堆栈溢出。您应该在代码块中将代码发布到此处,而不是指向图像的链接。 – arainone

+0

正如它所说的,第5行的缩进不符合它的上面的行(或下面的行) – Obsidian

+0

@Obsidian我会说从第5行开始的所有行都没有正确缩进 – arainone

回答

0

您的缩进是错误的。你需要把cube(9)这样的:

if number%3 == 0: 
    cube(9) 

而且你可能想返回cube(),不是原来number结果。

0

您应该将缩进改成这样:

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

我认为,所有你需要做的是缩进立方体(9)。这是因为它在if语句下。

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

这是您的解决方案。

def cube(number): 
    return number ** 3 

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

另外,by_three功能可以更短

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