python的and or not 问题

初学python,很多地方弄不明白。如果我想在a>0或者b>0且a,b不同时大于0的情况下返回True,要怎么写?
(a,b之前已定义)

潇湘沐
浏览 882回答 3
3回答

蝴蝶不菲

(a>0&nbsp;or&nbsp;b>0)&nbsp;and&nbsp;not&nbsp;(a>0&nbsp;and&nbsp;b>0) 或者 (a>0&nbsp;or&nbsp;b>0)&nbsp;and&nbsp;a*b<=0 示例代码: def&nbsp;ab(a,b): &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(a>0&nbsp;or&nbsp;b>0)&nbsp;and&nbsp;a*b<=0: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;True &nbsp;&nbsp;&nbsp;&nbsp;else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;False for&nbsp;a,b&nbsp;in&nbsp;[(1.5,-1.0),(2,0),(-3,0),(-2.1,-3),(2,2)]:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"a=%.1f,b=%.1f:"%(a,b),ab(a,b)

狐的传说

满足条件的解只有两个:a<0 and b>0 或者 a>0 and b<0所以推算一下,只要满足a*b<0这唯一条件便足够了。12if&nbsp;(a*b)<0:&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;True如果要练习and or方法的话可以参照一楼大神的

慕尼黑的夜晚无繁华

if a > 0 or b > 0:do something我没理解错的话是LZ的逻辑问题?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python