728x90
:: 파이썬 과제 - class 활용하기 (1) ::
1. 도형 넓이 계산기 만들기
원, 삼각형, 사각형
1. 도형 넓이 계산기
요구조건
- 인스턴스를 선언할 때 가로, 세로 길이를 받을 수 있는 클래스를 선언해 주세요
- 인스턴스에서 사각형, 삼각형, 원의 넓이를 구하는 메소드를 생성해주세요
- 원의 넓이를 계산할 때는 세로 길이는 무시하고, 가로 길이를 원의 지름이라 가정하고 계산해 주세요
풀이)
# 클래스 함수 사용
class Calculator() :
pie = 3.1415
def __init__(self) : # __init__ 함수로 선택 목록을 인스턴스 실행시 보여준다.
print("\n"
":: 도형 목록 ::\n"
"===========================\n"
"1.원\n"
"2.삼각형\n"
"3.사각형\n"
"0.Quit\n"
"===========================\n")
def Circle(self, rad) : # 원의 넓이를 구하는 함수
self.area = (rad/2) ** 2 * self.pie # 공식(원)
return self.area
def Triangle(self, height, length) : # 삼각형의 넓이를 구하는 함수
self.area = (height * length) / 2 # 공식(삼각형)
return self.area
def Square(self, height, width) : # 사각형의 넓이를 구하는 함수
self.area = width * height # 공식(사각형)
return self.area
def On_Off() : # 반복문에서 종료, 재시작을 선택하는 함수
result = int(input("\n"
"Off(1) - 종료 / On(2) - 재시작 : "))
if result == 2:
pass
elif result == 1:
print("종료합니다.")
quit() # 종료하는 함수
while True :
area_cal = Calculator() # 인스턴스 생성
N = int(input("목록에서 넓이를 구할 도형 번호를 입력해주세요 : "))
if N == 1 :
rad = int((input("원의 지름을 입력하세요 : ")))
print(f"지름 길이가 {rad} 인 원의 넓이는 약 {area_cal.Circle(rad):.2f} 입니다.") # area_cal.Circle(rad) 원의 넓이를 구하는 함수 실행
On_Off() # 반복문에서 종료, 재시작을 선택하는 함수
elif N == 2 :
height = int(input("삼각형의 높이를 입력하세요 : "))
length = int(input("삼각형의 밑변을 입력하세요 : "))
print(f"높이가 {height} 이고, 밑변이 {length} 인 삼각형의 넓이는 {area_cal.Triangle(height, length)} 입니다.") # area_cal.Triangle(height, length) 삼각형의 넓이를 구하는 함수 실행
On_Off() # 반복문에서 종료, 재시작을 선택하는 함수
elif N == 3 :
height = int(input("사각형의 세로 길이를 입력하세요 : "))
width = int(input("사각형의 가로 길이를 입력하세요 : "))
print(f"세로 길이가 {height} 이고, 가로 길이가 {width} 인 사각형의 넓이는 {area_cal.Square(height, width)} 입니다.") # area_cal.Square(height, width) 사각형의 넓이를 구하는 함수 실행
On_Off() # 반복문에서 종료, 재시작을 선택하는 함수
elif N == 0 :
print("종료합니다.")
break
else:
print("목록에 없는 값을 입력하여 재시작 합니다.")
실행 예시)
:: 도형 목록 ::
===========================
1.원
2.삼각형
3.사각형
0.Quit
===========================
# __init__ 으로 보여지는 목록 ↑↑
목록에서 넓이를 구할 도형 번호를 입력해주세요 : 3
사각형의 세로 길이를 입력하세요 : 5
사각형의 가로 길이를 입력하세요 : 20
세로 길이가 5 이고, 가로 길이가 20 인 사각형의 넓이는 100 입니다.
# while 반복문에 class 함수가 실행되는 내용 :: 넓이를 구한 값 ↑↑
Off(1) - 종료 / On(2) - 재시작 : 2
# On_Off() 함수로 실행되는 내용 ↑↑
:: 도형 목록 ::
===========================
1.원
2.삼각형
3.사각형
0.Quit
===========================
# __init__ 으로 보여지는 목록 ↑↑
목록에서 넓이를 구할 도형 번호를 입력해주세요 : 1
원의 지름을 입력하세요 : 19
지름 길이가 19 인 원의 넓이는 약 283.52 입니다.
# while 반복문에 class 함수가 실행되는 내용 :: 넓이를 구한 값 ↑↑
Off(1) - 종료 / On(2) - 재시작 : 1
종료합니다.
# On_Off() 함수로 실행되는 내용 ↑↑
종료 코드 0(으)로 완료된 프로세스
728x90
반응형
'coding > Project' 카테고리의 다른 글
[Python] 활용편 - 06 - Class 함수(3)(프로필 관리 기능 만들기) (0) | 2022.09.13 |
---|---|
[Python] 활용편 - 05 - Class 함수(2)(계산기 만들기 with class) (0) | 2022.09.13 |
[python] 활용편 - 03 - 게임만들기(기억력 게임) (0) | 2022.08.23 |
[python] 활용편 - 02 - 게임만들기 (풍선게임) (0) | 2022.08.23 |