我需要有关我的 CSC 硬件的帮助。它位于类/对象上,是一个定义圆的简单类,名称为 class Circle(object)。
硬件的确切文本(我完成了该硬件的前两部分,因此第三部分是对初始问题的扩展):
"""通过使用 、>=、
以下代码:
A = Circle(2, 5, 1.5)
B = Circle(-6, 1, 1)
print A < B, A != B, A >= B
应该生成以下输出:
False True True
这是我用于显示圆的坐标和半径的代码:
class Circle(object):
def __init__(self, x=0, y=0, r=0):
self.x = x
self.y = y
self.r = r
def __str__(self):
return "Circle at (%d , %d). Radius: %f" % (self.x, self.y, self.r)
def main():
print Circle(3, 5, 4.0)
main()
该类的输出是“Circle at (3 , 5).Radius: 4:000000”
我们被指向教科书的某一页,其中包含用于课程的数学运算符:eq(), gt(), ge(), lt(), le(), ne(), ETC。
所以我在想,我的教授想要这样的东西吗?
import math
class Circle(object):
def __init__(self, x=0, y=0, r=0):
self.x = x
self.y = y
self.r = r
def __str__(self):
return "Circle at (%d , %d). Radius: %f" % (self.x, self.y, self.r)
def calcArea(self, r):
self.r = r
return (math.pi)*(r**2)
def __gt__(self, circ1Radius, circ2Radius)
self.circ1Radius = circ1Radius
self.circ2Radius = circ2Radius
r1 = circ1Radius
r2 = circ2Radius
r1 > r2 or r2 > r1
def __ge__(self, circ1Radius, circ2Radius)
#And so on for __lt__(), __le__(), __ne__(), etc
def main():
A = Circle(3,4,1.5)
B = Circle(1,2,5.0)
C = Circle(5,7,7)
D = Circle(9,8,3)
print A < B, B > C, A < C, A >= C
main()
#Output should be "True, False, True, False"
我们是否必须为类中要使用的每个方法进行定义/属性?先感谢您。