我想为负值的a和b引发一个值错误。我已经尝试过这个问题,但是它为不同的值引发了ValueError,而且它似乎不能正常工作。
class RightTriangle:
def __init__(self, a, b):
self.a = a
self.b = b
self.c = np.sqrt(a**2+b**2)
if (self.a or self.b) < 0:
raise ValueError("Negative")发布于 2020-10-21 00:25:31
修复:
if self.a < 0 or self.b < 0:您得到的是首先评估(self.a or self.b)。第一部分做的是这样的:
if self.a: # anything but 0 is True
return self.a
else:
return self.b所以,你可能大部分时间都会得到self.a,然后在< 0中进行比较。
https://stackoverflow.com/questions/64449331
复制相似问题