이것저것 코드/파이썬

[파이썬] 삼각형 넓이/빗변 구하는 클라스와 메소드 만들기

원-스텝 2022. 9. 1. 19:08
반응형
삼각형은 밑변과 높이를 가진, 세 개의 점과 세 개의 선분으로 이루어진 다각형입니다.
이 삼각형의 넓이는 구하는 방법은 매우 간단합니다.
밑변과 높이의 길이를 알면 이 둘을 곱한 후, 2로 나누면 삼각형의 넓이가 나옵니다.
한편, 두 변이 만나서 생기는 각도가 90도인 삼각형도 있습니다.
이를 우리는 직각삼각형 이라고 합니다. 직각 삼각형은 밑변(b)과 높이(a)를 알면 빗변의 길이를 알 수 있습니다. (피타고라스의 정리 : a2+b2=c2a^2 + b^2 = c^2a2+b2=c2)
삼각형 클래스와 직각삼각형 클래스를 만들어서 넓이를 쉽게 구할 수 있도록 합니다.

지시사항
아래 조건을 충족하는 삼각형 인스턴스를 만드는 클래스 Triangle을 완성합니다.
Triangle은 밑변을 나타내는 필드 base를 가지며 초기값은 0으로 설정되어야함
Triangle은 높이를 나타내는 필드 height를 가지며 초기값은 0으로 설정되어야함
메서드 set_length(a, b)는 base의 값을 a로, height의 값을 b로 설정함메서드 print_area()는 삼각형의 넓이를 반환함
아래 조건을 충족하는 직각삼각형 인스턴스를 만드는 클래스 RATriangle을 만듭니다.
RATriangle클래스는 Triangle 클래스를 상속받음
메서드 print_hypotenuse()는 삼각형의 빗변의 길이을 반환함

주의사항
완성한 클래스의 인스턴스가 위에서 요구되는 모든 기능을 올바르게 수행해야만 정답으로 채점됩니다

클라스 이름을 a 또는 b로 치환해야 하는 이유는 아직 못찾았다.

치환하지 않으면 에러를 뱉더라..

import math
class Triangle():
    base=0
    height=0
    def set_length(self,a,b):
        self.base=a
        self.height=b
    def print_area(self):
        result = self.base*self.height/2
        return result

class RATriangle(Triangle):
    def print_hypotenuse(self):
        num = self.base**2+self.height**2
        result = math.sqrt(num)
        return result

a = Triangle()
a.set_length(4,4)
print(a.print_area())

b = RATriangle()
b.set_length(4,4)
print(b.print_hypotenuse())
반응형