如果 a>b 且 a 或者 b ?
a>b 和 a 都为真,就真,否则 b ?
搞不懂 求指点
|  |      1loading      2016-11-18 18:20:13 +08:00 via Android 你就不能自己试一下? | 
|      2kier      2016-11-18 18:22:54 +08:00  1 python 没有三目运算符,所以这个就当三目运算符了 | 
|      3Hstar      2016-11-18 18:22:58 +08:00  1 >>> a=1 >>> b=2 >>> a > b and a or b 2 >>> a>b False >>> a>b and a False >>> a or b 1 >>> a>b or b 2 | 
|  |      4ltux      2016-11-18 18:30:44 +08:00  1 a > b and a or b 这种写法只有在 a>b 且 a 不等于 0 的情况下才会返回 a, 否则返回 b 不知道程序的意图,不知道是否真的需要 a 不等于 0 ,所以也无法判断这种写法是否会有逻辑漏洞。 但是窃以为最好把意图明确写出。如果不需要保证 a 不等于 0 ,那么不如写成 a if a>b else b | 
|  |      5skyleft      2016-11-18 18:30:45 +08:00  1 这个当三目运算符有问题,如果 a 是 0 或者其他布尔判定是 false 的值,就悲剧了 | 
|  |      6skyleft      2016-11-18 18:31:10 +08:00  1 三目运算符 还是 a if a>b else b 好点 | 
|  |      7Kilerd      2016-11-18 19:49:58 +08:00 对于这种语义不明,或者说过度压缩代码的行为表示不屑。 | 
|      8coreki      2016-11-18 19:50:57 +08:00 via iPhone 我也是用 if else 好些 | 
|  |      9knightdf      2016-11-18 20:20:10 +08:00 python lua 里面这种写法多了去了 |