初學python,很多地方弄不明白。如果我想在a>0或者b>0且a,b不同時大于0的情況下返回True,要怎么寫?(a,b之前已定義)
3 回答

蝴蝶不菲
TA貢獻1810條經驗 獲得超4個贊
(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貢獻1804條經驗 獲得超3個贊
滿足條件的解只有兩個:
a<0 and b>0 或者 a>0 and b<0
所以推算一下,只要滿足a*b<0這唯一條件便足夠了。
12 | if (a * b)< 0 : return True |
如果要練習and or方法的話可以參照一樓大神的
添加回答
舉報
0/150
提交
取消