为了账号安全,请及时绑定邮箱和手机立即绑定

python的and or not 问题

python的and or not 问题

潇湘沐 2018-07-05 13:13:40
初学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)


查看完整回答
反对 回复 2018-07-26
?
狐的传说

TA贡献1804条经验 获得超3个赞

满足条件的解只有两个:

a<0 and b>0 或者 a>0 and b<0

所以推算一下,只要满足a*b<0这唯一条件便足够了。

12if (a*b)<0:    return True

如果要练习and or方法的话可以参照一楼大神的


查看完整回答
反对 回复 2018-07-26
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

if a > 0 or b > 0:
do something

我没理解错的话是LZ的逻辑问题?

查看完整回答
反对 回复 2018-07-26
  • 3 回答
  • 0 关注
  • 838 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信