初学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:    returnTrue | 
如果要练习and or方法的话可以参照一楼大神的
添加回答
举报
0/150
	提交
		取消
	
