當我在下面的代碼塊中的 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)
添加回答
舉報
0/150
提交
取消