gpt4 book ai didi

python - Python 中的两个 return 实例有问题吗?

转载 作者:行者123 更新时间:2023-12-01 05:42:29 26 4
gpt4 key购买 nike

背景:

exercise on Codeacademy调用创建代码,其中 cube 函数返回是变量 cubed

然后,当函数 by_third 调用该函数时,作者建议使用另一个return:

Make sure both functions return their values rather than printing them, and that both branches of the if/else statement in by_three have return statements in them.

被接受为正确答案的代码是:

def cube(n):
cubed = n**3
return cubed

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

问题:

为什么需要有两个return实例?首先在 cube 中,然后再次在 if 中 for by_third。前者还不够吗?

或者重复是否有助于代码执行,为什么?它会有害吗?

最佳答案

如果函数不返回任何内容,则默认返回None

您的 cube 函数不会打印结果,而是返回结果,以便可以在其他地方使用。如果只是printcubed而不是return,那么returncube(n)将相当于returnNone,而这不是什么你要。因为return返回(或者在本例中,分配)变量的值。

在您的 by_third 函数中,使用 else: return False 很有用,因为如上所述,否则它将返回 None。这可能没有帮助,因为您可能需要值 False 来确定代码中的其他内容。之所以要求您将 return 放在 if/else 中,是因为 Codecademy 希望您这样做:p。稍后在 Codecademy 期间,它可能对您没有用处,但是当您稍后开始编写自己的代码时,这是一个很好的实践:)。

mycubed = by_three(6)
# mycubed is now 216
mycubed2 = by_three(4)
# mycubed2 is now False.

当存在 if/elif/else 语句时,始终从函数返回一个值。但无论情况如何,返回总是非常方便。 (注意某物无(ne)某物是如何相反的)

关于python - Python 中的两个 return 实例有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17168287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com