初学python,很多地方弄不明白。如果我想在a>0或者b>0且a,b不同时大于0的情况下返回True,要怎么写?(a,b之前已定义)
3 回答
繁星淼淼
TA贡献1775条经验 获得超11个赞
(a>0 or b>0) and not (a>0 and b>0) 或者 (a>0 or b>0) and a*b<=0 示例代码: def ab(a,b): if (a>0 or b>0) and a*b<=0: return True else: return False for a,b in [(1.5,-1.0),(2,0),(-3,0),(-2.1,-3),(2,2)]: print "a=%.1f,b=%.1f:"%(a,b),ab(a,b)
慕标琳琳
TA贡献1830条经验 获得超9个赞
满足条件的解只有两个:
a<0 and b>0 或者 a>0 and b<0
所以推算一下,只要满足a*b<0这唯一条件便足够了。
12 | if (a * b)< 0 : return True |
如果要练习and or方法的话可以参照一楼大神的
添加回答
举报
0/150
提交
取消