在这个答案中说你可以return A+1 if A > B else A-1
在 python 3 中使用,但是当我尝试使用它时:
def max3(a,b,c):
return a if a > b and c
return b if b > c else c
我收到无效的语法错误。我试过在网上查找,但我找不到任何关于此的内容,如果有人可以提供帮助,我将不胜感激。
谢谢。
您可以嵌套条件表达式:
def max3(a,b,c):
return a if a > b and a > c else b if b > c else c
只要确保始终有else
一部分,否则表达式将不知道要评估什么。这是否是最易读的解决方案充其量是值得怀疑的。最少的行/字节没有价格(除非您正在玩代码高尔夫)。
还要注意的a > b and c
是不一样的a > b and a > c
。您可以将其缩短为b < a > c
,但是可读性将受到另一次打击。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句