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

我可以在 print() 函数或常规 if-else 语句中定义函数并且不在 Python

我可以在 print() 函数或常规 if-else 语句中定义函数并且不在 Python

守着一只汪 2023-06-13 17:12:22
当我在下面的代码块中的 print 函数中使用 if-else 语句的常规语法时,出现如下所述的错误,def to_smash(total_candies):"""Return the number of leftover candies that must be smashed after distributingthe given number of candies evenly between 3 friends.>>> to_smash(91)1"""print("Splitting", total_candies, (def plural_or_singular(total_candies):    if total_candies>1:        return "candies"    else:        return "candy"),plural_or_singular(total_candies))return total_candies % 3to_smash(1)to_smash(15)#################################################################################### Output:File "<ipython-input-76-b0584729b150>", line 10    (def plural_or_singular(total_candies):       ^SyntaxError: invalid syntax我所说的常规 if-else 语句的意思是,if total_candies>1:        return "candies"    else:        return "candy")使用三元运算符的相同语句,print("Splitting", total_candies, "candy" if total_candies == 1 else "candies")
查看完整描述

1 回答

?
侃侃尔雅

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

def to_smash(total_candies):

    print("Splitting", total_candies, (lambda total_candies: "candies" if total_candies > 1 else "candy")(total_candies))        

    return total_candies % 3


to_smash(1)

to_smash(15)

但是,请注意,在传递函数方面,Python 不如 Javascript 通用——lambda它有其局限性,特别是它只是一个单行函数。相反,我建议只在 print 语句之外一起定义您的函数。


def to_smash(total_candies):

    def plural_or_singular(total_candies):

        if total_candies>1:

            return "candies"

        else:

            return "candy"


    print("Splitting", total_candies, plural_or_singular(total_candies))

    return total_candies % 3


to_smash(1)

to_smash(15)


查看完整回答
反对 回复 2023-06-13
  • 1 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信