如何用三个参数编写方法?

时间:2017-11-29 21:51:26

标签: python

此功能将接收三个参数。前两个是数字,第三个是布尔值 如果其中一个数字小于零,则该函数返回True。除非布尔参数为True。在这种情况下,如果两个数字都小于零,它将仅返回True 如果它没有返回True,则返回False。

def pos_neg(a,b,negative):
    if a<0 or b<0 and negative=="false":
       return True
    else:
       return False

2 个答案:

答案 0 :(得分:0)

  

第三个是布尔值

"false"是一个字符串。 False是一个布尔值

  

除非布尔参数为True

那么,你为什么要检查错误?

无论如何,你可以使用布尔逻辑来原样使用布尔值。

试试这个

def pos_neg(a,b,negative):
    a_neg = a < 0
    b_neg = b < 0
    if negative: 
        return a_neg and b_neg  # return True if both numbers are less than zero, otherwise False
    else:
        return a_neg ^ b_neg  # returns True if *exactly* one of the numbers is less than zero, otherwise False

答案 1 :(得分:0)

如果其中一个数字小于零,则返回True,除非Boolean参数为True 在这种情况下[negative == True],如果两个数字都小于零,则只返回True 如果它不返回True,则返回False。

def pos_neg(a, b, negative):
    if not negative:
        if (a < 0) ^ (b < 0):
            return True
        else:
            return False

    else:
        if a < 0 and b < 0:
            return True
        else:
            return False

print(pos_neg(-1, 1, False))  # True
print(pos_neg(-1, -1, False))  # False
print(pos_neg(-1, 1, True))  # False
print(pos_neg(-1, -1, True))  # True

将打印:

True
False
False
True