我是 Python 新手,目前正在学习 lambda
表达式。我正在解决一个教程程序
Define a function
max_of_three()
that takes three numbers as arguments and returns the largest of them.
我已经完成了这个old post并尝试没有成功:
>>> max_of_three = lambda x, y, z : x if x > y else (y if y>z else z)
>>> max_of_three(91,2,322)
91
为什么它不返回 Z?是 X。
最佳答案
目前你正在使用if x > y
,它只比较x
和y
,但你需要比较x
和 z
也在同一步骤。
max_of_three = lambda x, y, z: x if x > y and x > z else (y if y > z else z)
print max_of_three(91, 2, 322)
>>> 322
关于python - 带有嵌套 if else 的 Lambda 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31294041/