亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以在 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條經驗 獲得超16個贊

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 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號