Exemple #1
0
class RectangleClassTest(unittest.TestCase):
    def setUp(self):
        self.shape = Rectangle(12, 23.4)

    def tearDown(self):
        del self.shape

    def test_constructor(self):
        with self.assertRaises(InvalidSideError):
            r = Rectangle(5, -5)
        with self.assertRaises(InvalidSideError):
            r = Rectangle(-5, 5)

    def test_shape_area(self):
        self.assertAlmostEqual(280.8, self.shape.area())
Exemple #2
0
"""
실행부
A. s 변수는 도형이다.
B. 반지름이 5인 원을 정의하여 c 변수에 저장한다.
C. 가로, 세로가 5, 10인 직사각형을 정의하여 r에 저장한다.
D. 세변이 3(밑변), 4, 5이고, 높이가 4인 삼각형을 정의하여 t에 저장한다.
E. c의 면적과 둘레를 출력한다.
F. r의 면적과 둘레를 출력한다.
G. t의 면적과 둘레를 출력한다.
H. t의 변들을 리스트로 받아 출력한다.
"""
# 필요한 모듈 수입하기
from shape import Shape, Circle, Triangle, Rectangle

s = Shape() # shape.의 의미는 "shape.ps에서 정의된" 을 의미
                  # Shape가 shape.ps에 정의된 클래스임을 의미
c = Circle(5)
r = Rectangle(5, 10)
t = Triangle(3, 4, 4, 5)
print(c.area())
print(c.perimeter())
print(r.area())
print(r.perimeter())
print(t.area())
print(t.perimeter())
print(r.getSides())

l = [s, c, r, t]
for i in l:
    print(i)
Exemple #3
0
# 파이썬 파일에서 필요한 클래스만 수입
import shape
# shape.py에 정의된 클래스, 함수 등을 수입해서 사용하겠다는 의미. .py 확장자는 붙이지 않는다.
from shape import Shape, Circle, Rectangle, Triangle

s = Shape() # s에 Shape()를 저장
c = Circle(5) # c에 반지름이 5인 Circle 저장
r = Rectangle(5, 10) # r에 밑변이 5이고 높이가 10인 Rectangle 저장
t = Triangle(3, 4, 5, 4) # t에 밑변이 3이고 두 변이 각각 4, 5, 높이가 4인 Triangle 저장

# c, r, t의 면적과 둘레 출력
print("c면적:"+str(c.area())+" c둘레"+str(c.perimeter()))
print("r면적:"+str(r.area())+" r둘레"+str(r.perimeter()))
print("t면적:"+str(t.area())+" t둘레"+str(t.perimeter()))

# t의 변들을 출력
st=""
for i in t.getSides():
    st = st + str(i) + " "
print(st)

# l 리스트를 생성해 s, c, r을 추가
l =[]
l.append(s)
l.append(c)
l.append(r)

# for문을 돌며 넓이와 둘레를 출력
for i in l:
    print(i)
    print("넓이:"+str(i.area()))
Exemple #4
0
G. t의 면적과 둘레를 출력한다.
H. t의 변들을 리스트로 받아 출력한다.
l. 리스트 l을 정의하여,s,c,r,t을 요소로 추가한다.
j. l의 각 요소에 대해, 해당 요소를 출력하고, 면적과 둘레를 계산하여 출력한다.
*for문 안에서 테스트: getRadius()메쏘드를 수행한다. (오류발생, 이유 생각해보기)
"""
#파이썬 파일에서 필요한 클래스만 수입
from shape import Shape, Circle, Rectangle, Triangle  # Shape.py에 정의된 클래스, 함수 등을 수입해서 사용하겠다는 의미..py 확장자는 붙이지 않는다.

s = Shape()  # 원하는 클래스를 직접 수입했으므로, shape. 없이 원하는 클래스 이름을 직접 사용
c = Circle(5)  # Circle을 c변수에 저장
r = Rectangle(5, 10)  # Rectangle을 r 변수에 저장
t = Triangle(3, 4, 5, 4)  # Triangle을 t 변수에 저장
print("c의 면적: %d " % (c.area()))  # c의 면적과 둘레 출력
print("c의 둘레: %d " % (c.perimeter()))
print("r의 면적: %d " % (r.area()))  # r의 면적과 둘레 출력
print("r의 둘레: %d " % (r.perimeter()))
print("t의 면적: %d " % (t.area()))  # t의 면적과 둘레 출력
print("t의 둘레: %d " % (t.perimeter()))
print(t.getSide())  # t의 변들을 리스트로 받아 출력
l = []  # 빈 리스트 l 정의
l.append(s)  # ㅣ에 차례대로 s,c,r,t를 요소로 추가
l.append(c)
l.append(r)
l.append(t)
print("==== 리스트 해당요소 출력 ====")  # 리스트 해당요소 출력하기
for i in range(0, len(l)):  # for문을 0부터 l의 요소만큼 돌면서
    print(l[i])  # l의 i 번째 요소를 print.
print("==== 리스트 해당요소의 면적과 둘레 출력 ====")  # 리스트의 해당요소의 면적과 둘레 출력
for i in range(0, len(l)):  # for문을 0부터 l의 요소만큼 돌면서
    print("면적:" + str(l[i].area()))  # l의 i번째 면적의 값을 출력