선쉔님들.. 파이썬 독학 과정 중 마지막 문제에서 막혔습미다 ㅜㅜ
- Might
- 조회 수 1134
- 2021.07.26. 21:41
- 삼각형 인스턴스를 만드는 클래스
Triangle
을 완성해봅시다.
- 변수
base
(밑변),height
(높이) = 0 - 메서드
set_length(a, b)
: a를 base, b를 height으로 설정 - 메서드
print_area()
: 삼각형의 넓이를 반환
- 직각삼각형 인스턴스를 만드는 클래스
RATriangle
을 만들어봅시다. (Triangle 클래스를 상속받음)
- 메서드
print_hypotenuse()
: 삼각형의 빗변을 반환
이게 문제인데.. 제가 짠 코드는
class Triangle:
base = 0
height = 0
def set_length(self):
base = a
height = b
def print_area(self):
return (a*b/2)
class RATriangle(Triangle):
def print_hypotenuse(self):
return (a*a)+(b*b)
요거입니다. 클래스 안의 메소드에서는 self를 매개변수로 넣는 게 규칙?처럼 되어 있어서 저렇게 했고..
만들면서도 뭔가 잘못된 것 같은데..?라고 생각하는데 이틀째 생각해도 어떻게 수정해야할지 모르겠습미다..
도와주십쇼 ㅜㅜ 문돌이 인생 첫 코딩 공부인데 넘나 어렵습미다..
class Triangle
{
public:
Triangle() {};
~Triangle() {};
float base;
float height;
void set_length(float a, float b)
{
base = a;
height = b;
}
};
class RATriangle : public Triangle
{
public:
RATriangle() {};
~RATriangle() {};
float print_hypotenuse()
{
return sqrt((base*base) + (height*height));
}
};
int main()
{
float hypotenuse;
RATriangle rat = RATriangle();
rat.set_length(12.0f, 21.5f);
hypotenuse = rat.print_hypotenuse();
return 0;
}
ㄷㄷㄷㄷㄷㄷㄷㄷ
https://ideone.com/wi2OkX
이거 참고해보셔요.