零基础学python第007讲课后作业
三元操作符原答案是small = x if (x < y and x < z) else (y if y < z else z)
请问最后一个括号为什么不能放else前面
如small = x if (x < y and x < z) else (y if y < z )else z y if y < z else z
是一种简写,类似于列表推导式,意思就是输出 y和z中的较小者,这句代码是一个值,将其赋值并用常规写法写出来就是
a = y if y < z else z
small = x if (x < y and x < z) else a
同理,继续演变就是
if y < z:
a = y
else:
a = z
small = x if (x < y and x < z) else a
还可以继续演变为
if y < z:
a = y
else:
a = z
if x < y and x < z:
small = x
else:
small = a
而如果像你说的那样
b = y if y < z
small = x if (x < y and x < z) else b else z
就不符合语法规则了,也不符合逻辑
页:
[1]