关于三元操作符的课后作业问题
题目是这样:请将以下代码修改为三元操作符实现:
x, y, z = 6, 5, 4
if x < y:
small = x
if z < small:
small = z
elif y < z:
small = y
else:
small = z
参考答案是 : small = x if (x < y and x < z) else (y if y < z else z)
题目是要求最小值这一点能够明白。不过有点疑问的是参考答案代码 , 如果代码的值在其他情况下 , 实际运行起来内部流程是有点区别吧 ?
原题里 x < y 且 z < x 成立的话, 此时将 small 赋值为 z , 也就是即使 x = z ( z 不< x ) , small 的值也是来自 x
而按照参考答案的话 , 就算 x = z , 最后 small 的值会是 z 的值 , 当然结果是一样 , 不过实际有点区别是吗 ? 为什么我觉得应该是small = z if (z < x and x < y) else (y if y < z) else x {:10_291:}
也不知道对不对,我也刚学,一起探讨探讨 五岁能抬头 发表于 2021-4-14 17:41
为什么我觉得应该是small = z if (z < x and x < y) else (y if y < z) else x
也不知道对不 ...
你写得那个貌似后面部分的格式已经错了吧{:10_245:}
页:
[1]