当我在下面的代码块中的 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
提交
取消