4

我只是在 Codeacademy 上学习编程。我有一个任务,但无法弄清楚我做错了什么。

首先,我需要定义一个返回值立方体的函数。然后我应该定义第二个函数来检查一个数字是否可以被 3 整除。如果是我需要返回它,否则我需要返回False

继承人的代码:

def cube(c):
    return c**3

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

6 回答 6

8

你没有捕捉到函数的返回值cube。做b = cube(b)。或者更好的是,做return cube(b)

def cube(c):
    return c**3

def by_three(b):
    if b % 3 == 0:
         b = cube(b)
         return b  # Or simply return cube(b) and remove `b = cube(b)`
    else:
         return False

当您cube使用参数调用函数时b,它返回传递参数的立方体,您需要将其存储在一个变量中并将其返回给用户,在您当前的代码中,您忽略了返回值。

于 2013-08-02T15:40:03.397 回答
2

我认为这个答案也可能有效:

    def cube(b,c):
        b = c ** 3
        if b % 3 == 0:
            return b
        else:
            return False
        return b

我知道这可能有点多余,但我认为这可能是做你想做的事情的另一种方式。我认为 Sukrit 所做的更简单。

于 2014-06-01T00:13:58.733 回答
0

这是我刚刚开发的一个轻量级解决方案,应该可以工作:)

def cube(number):
    return number**3

def by_three(number):
    if number % 3 == 0:
        return cube(number)
    else:
        return False
于 2016-07-20T13:51:01.543 回答
0

我已经完成了 Codecdemy,这是我的代码。

def cube(n):
    return n ** 3
def by_three(number):
    if number % 3 == 0:
       return cube(number)
else:
    return False
于 2016-03-16T21:07:42.580 回答
0

尝试为每个调用相同的字母。不要使用'c'和'b',只需使用'c'

def cube(c):
    return c**3
def by_three(c):
    if c % 3 ==0:
        return cube(c)
    else:
        return False 
于 2017-06-28T19:36:33.953 回答
0
def cube(num):
    return n ** 3

def by_three(value):
    if value % 3 == 0:
        return cube(value)
    else:
        return False
于 2016-08-30T22:49:30.520 回答