课后作业第7,8讲的题不太明白怎么解
x, y, z = 6, 5, 4if x < y:
small = x
if z < small:
small = z
elif y < z:
small = y
else:
small = z
要用三元符号来表示,应该怎么来考虑? 本帖最后由 xiaosi4081 于 2020-7-23 18:16 编辑
x ,y,z = 6, 5, 4
small = (x if x < y else y)
small = (z if small> z else small)
求最佳{:10_254:}
再送你张图:
https://s1.ax1x.com/2020/07/05/UpAthV.gif 一开始不怎么理解,看着视频照猫画虎,先写成这样
x, y, z = 6, 5, 4
small = x if x < y else y
small = y if y < z else z
print(small)
再归类 发现x<y,得出较小值,再去跟z比得出较小值这两步,可以折叠成一步,(x<y) and(x<z),得出最小值x
如果不满足,则让y和z再比较,就跟上段代码的第三句一样,
整理下来就是
x, y, z = 6, 5, 4
small = x if (x < y and x < z) else (y if y < z else z)
print(small) small = x if (x < y and x < z) else (y if y < z else z)
结果 = 值1 if 条件 else 值2
如果 (x < y and x < z) 那么结果取x 否则结果取(y if y < z else z)
如果 y < z那么结果取y,否则取z
页:
[1]