내 CSC HW에 대한 도움을 받고 싶습니다. 그것은 클래스/객체에 있으며, 클래스 Circle (객체)라는 이름으로 원을 정의하는 간단한 클래스입니다.클래스에 대한 "사용"비교
HW의 정확한 텍스트 (나는이 얼굴을 처음 두 부분을 완료하고, 따라서이 세번째 부분은 초기 문제에 대한 확장입니다) :
"" "비교를 가능하게하여 Circle 클래스에 확장은 <,> =, < =, == 및! =과 같은 연산자를 사용하는 Circle 객체의 경우, 다른 Circle보다 실제로 큰 경우 (즉 더 큰 영역을 가진 경우) 다른 Circle보다 "더 큰"것으로 간주됩니다 .
다음 코드 :
A = Circle(2, 5, 1.5)
B = Circle(-6, 1, 1)
print A < B, A != B, A >= B
,369 1,363,210
이 출력을 생성해야 :
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()
이 클래스의 출력은 "원 (3, 5). 반경 : 4 : 000000 "
우리는 클래스의 수학 사업자와 우리 교과서의 특정 페이지로 지적되었다 : EQ(), 있다(), GE(), LT() , 르() 등 NE(), 그래서 내가 생각, 내 교수는이 같은 뭔가를 원했는가?
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"
우리가 definit을해야합니까 클래스에서 사용할 각 메소드에 대한 이온/속성? 미리 감사드립니다.
예 조금 전, 너무 고맙다는 것을 알았습니다. 과도하게 프로그램하고 경향이있는 코드를 작성하는 경향이 있습니다. 보통 초보자라면 가독성과 간결함보다 프로그램을 작동시키는 데 더 중점을 두는 경향이 있습니다. – Derrick