鱼C论坛

 找回密码
 立即注册
查看: 976|回复: 2

[已解决]第8讲课后习题

[复制链接]
发表于 2017-11-23 20:51:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
原问题是:
请将以下代码修改为三元操作符实现:
1. x, y, z = 6, 5, 4
2. if x < y:
3.&#160; &#160; small = x
4.&#160; &#160; if z < small:
5.&#160; &#160;&#160; &#160;&#160;&#160;small = z
6. elif y < z:
7.&#160; &#160; small = y
8. else:
&#160; &#160;    small = z
而答案则是:small = x if (x < y and x < z) else (y if y < z else z)

程序中第4步我的理解是: if z<x<y
                                            small=z

这一步答案好像没有实现,而第一个if后的条件 and x<z又是什么意思?求高手解答。
最佳答案
2017-11-23 23:00:35
x<y and x<z 就是相当于x<y与x<z两个条件同时成立,
在答案中,只要第一个if中的条件不成立,就说明x不是最小的,所以最小不是y就是z,所以在判断y和z就可以了else后面,又有一个三元操作,就是判断y和z的大小
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-23 21:28:16 | 显示全部楼层
z<x<y
等价于
x < y and x < z

其中 and 是表示“与”的逻辑运算符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-23 23:00:35 | 显示全部楼层    本楼为最佳答案   
x<y and x<z 就是相当于x<y与x<z两个条件同时成立,
在答案中,只要第一个if中的条件不成立,就说明x不是最小的,所以最小不是y就是z,所以在判断y和z就可以了else后面,又有一个三元操作,就是判断y和z的大小
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 22:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表