为了账号安全,请及时绑定邮箱和手机立即绑定

Python中的两个返回实例有问题吗?

Python中的两个返回实例有问题吗?

长风秋雁 2021-03-29 13:22:40
背景:Codeacademy上的一项练习要求在cube函数return为变量的情况下创建代码cubed。然后,当该函数被该函数调用时,by_three作者建议使用另一个return:确保两个函数都返回它们的值而不是打印它们,并且if/else语句中的两个分支by_three都return在其中包含语句。被接受为正确答案的代码是:def cube(n):    cubed = n**3    return cubeddef by_three(n):    if n % 3 == 0:        return cube(n)    else:        return False问题:为什么需要两个实例return?首先在cube,随后又在if为by_three。前者不够吗?还是重复可以帮助代码执行,为什么?有害吗?
查看完整描述

4 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

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


您的cube函数而不是打印结果,而是返回结果,以便可以在其他地方使用。如果只是print cubed返回而不是返回,则return cube(n)相当于return None,这不是您想要的。因为return 返回(或在这种情况下,将值)分配给变量。


在您的by_three函数中,使用很有用else: return False,因为如上所述,否则它将返回None。这可能无济于事,因为您可能需要该值False才能在代码的后面确定其他内容。要求您将returns放入if / else的原因是,这是Codecademy希望您执行的:p。在以后的Codecademy中,这可能对您没有用,但是这是一个好习惯:)之后,当您开始编写自己的代码时:)。


mycubed = by_three(6)

# mycubed is now 216

mycubed2 = by_three(4)

# mycubed2 is now False.

有if/elif/else语句时,始终从函数返回值。但是无论情况如何,退货总是很方便的。(请注意,某物与no(ne)thing是相反的)


查看完整回答
反对 回复 2021-04-02
  • 4 回答
  • 0 关注
  • 192 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号