3 回答
TA贡献1802条经验 获得超5个赞
首先,您缺少方法调用的括号。
接下来,您必须提供self
类中任何方法的参数。
def check_angles(self):
另外,您也不想使用angle1
,angle2
或angle3
-self.
在使用它们之前必须先加上,然后才能在适当的范围内使用它们。
最后,是一种样式:可以返回self.angle1 + self.angle2 + self.angle3 == 180
,因为它是布尔值。
TA贡献1820条经验 获得超10个赞
您必须添加括号才能调用该函数。做。
class Triangle(object):
number_of_sides = 3
def __init__(self, angle1, angle2, angle3):
self.angle1 = angle1
self.angle2 = angle2
self.angle3 = angle3
def check_angles(self):
if self.angle1 + self.angle2 + self.angle3 == 180:
return True
else:
return False
my_triangle = Triangle(60, 60, 60)
print my_triangle.number_of_sides
print my_triangle.check_angles()
您的实现有一些小问题,因为您没有传入self函数,而是这样做self.angle1。此外,它可能是把有用number_of_sides到__init__。
TA贡献1856条经验 获得超17个赞
您在()
方法末尾不见了。
输出正确:my_triangle.check_angles
返回函数本身,因此您获得的文本就是该函数的描述。要实际打印结果,只需执行即可print my_triangle.check_angles()
。
PS。请当心浮点数。使用整数以外的值时,总和可能不完全相同180
。这将是一个非常接近的数字。如果您需要除整数以外的任何东西,那么abs(result-180) < 1e-6
(或要比较的其他一些小数)会更好。
添加回答
举报