此功能将接收三个参数。前两个是数字,第三个是布尔值 如果其中一个数字小于零,则该函数返回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
答案 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