课后作业求解答
将以下代码修改为三元操作符实现: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 and x < z如何理解x<z. x < y and x < z ——>x比y小并且比z小
看看这个解析:https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=172844&pid=4778235 kylin121380 发表于 2020-9-7 11:56
x < y and x < z ——>x比y小并且比z小
我的想法是这样的、small = x if (x < y ) else (y if y < z else z),无法理解哪条语句来判断 x < z Twilight6 发表于 2020-9-7 12:52
看看这个解析:https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=172844&pid=4778235
感觉脑细胞进去了牛角了。我是无法理解x<z. hanxiuc1 发表于 2020-9-7 13:18
感觉脑细胞进去了牛角了。我是无法理解x
好好捋一捋,把你之前的想法清空,然后再慢慢理解 #small = x if (x < y and x < z) else (y if y < z else z)
x, y, z = 6, 5, 4
if x < y and x<z:
small = x
else:
if y<z:
small=y
else:
small=z
hanxiuc1 发表于 2020-9-7 13:07
我的想法是这样的、small = x if (x < y ) else (y if y < z else z),无法理解哪条语句来判断 x < z
当x最小时small直接等于x——>if (x < y and x < z)
当x不是最小时进入else,y if y < z——>此时x大于等于y或z,如果x大于等于y,满足y<z后,y便是最小,若x大于等于z,y还是最小。
当y大于等于z, else z ——> 此时前提条件是x大于等于y或z,z已经比y小,而x起码大于等于z,所以z是最小
这样好理解了吗{:10_254:}
页:
[1]