def create_objects(form): """ Create shapes. """ message.clear() if form["shape_type"] == "Circle": circle = Circle( form["shape_type"], form["width"], form["height"], form["left"], form["top"], form["color"] ) message.append(Circle.validate(circle)) if Circle.validate(circle) == "Circle Added": shapes.append(circle) if form["shape_type"] == "Square": square = Square( form["shape_type"], form["width"], form["height"], form["left"], form["top"], form["color"] ) message.append(Square.validate(square)) if Square.validate(square) == "Square Added": shapes.append(square) if form["shape_type"] == "Triangle": triangle = Triangle( form["shape_type"], form["width"], form["height"], form["left"], form["top"], form["color"] ) message.append(Triangle.validate(triangle)) if Triangle.validate(triangle) == "Triangle Added": shapes.append(triangle)
from shape import Rectangle, Triangle import requests if __name__ == "__main__": alas = int(input("masukan alas: ")) tinggi = int(input("masukan tinggi: ")) rect = Rectangle(alas, tinggi) trian = Triangle(alas, tinggi) print(rect.luas) print(trian.luas) req = requests.get('http://kjasdfkhsajkdhfkjsdhvkndsjnvio.com/') print(req.status_code)
""" 실행부 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)
def test_name(data): t = Triangle(data[0], data[1], data[2]) assert t.name == "Triangle"
def test_perimeter(data): t = Triangle(data[0], data[1], data[2]) assert t.perimeter == data[0] + data[1] + data[2]
def test_angles(data): t = Triangle(data[0], data[1], data[2]) assert t.angles == 3
def test_area(data): p = data[0] + data[1] + data[2] p /= 2 area = (p * (p - data[0]) * (p - data[1]) * (p - data[2])) ** 0.5 t = Triangle(data[0], data[1], data[2]) assert t.area == area
from shape import Square, Rectangle, Triangle, Circle class BadShape: def __init__(self, a): self.a = a @property def area(self): return self.a figure_set_one = [ Square(58.095), Rectangle(0.000887799, 44), Triangle(22.00001, 22.001, 22.1), Circle(900000234) ] figure_set_two = [ Square(1), Rectangle(999993242, 555), Triangle(78.956, 112.44, 96.928), Circle(5667.00938), pytest.param(BadShape(4444), marks=pytest.mark.xfail) ] @pytest.mark.parametrize("f1", figure_set_one) @pytest.mark.parametrize("f2", figure_set_two) def test_add(f1, f2): a1 = f1.area
# 파이썬 파일에서 필요한 클래스만 수입 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()))
def setUp(self): self.test_triangle = Triangle('Triangle', 'Test Triangle', 3)
from shape import Triangle, Square, Circle a = input("1. Triangle \n2. Square \n3. Circle\n") c = input("details: ") d = c.split() b = [] for x in d: b.append(int(x)) if a == '1': s = Triangle(b[0], b[1]) elif a == '2': s = Square(b[0]) else: s = Circle(b[0]) s.area() s.perimeter()
D. 세변이 3(밑변), 4, 5이고, 높이가 4인 삼각형을 정의하여 t에 저장한다. E. c의 면적과 둘레를 출력한다. F. r의 면적과 둘레를 출력한다. G. t의 면적과 둘레를 출력한다. H. t의 변들을 리스트로 받아 출력한다. I. 리스트 l을 정의하여, s, c와 r을 요소로 추가한다. J. l의 각 요소에 대해, 해당 요소를 출력하고, 면적과 둘레를 계산하여 출력한다. K. for문 안에서 테스트: getRadius() 메쏘드를 수행한다.(오류 발생) """ # 파이썬 파일에서 필요한 클래스만 수입 from shape import Shape, Circle, Rectangle, Triangle #shape.py에 정의된 클래스, 함수등을 수입해서 사용하겠다는 의미 확장자는 붙이지 않는다. s = Shape() #원하는 클래스를 직접 수입했으므로, shape. 없이 원하는 클래스 이름을 직접 사용 c = Circle(5) r = Rectangle(5, 10) t = Triangle(3, 4, 5, 4) print(s) print(c) print(r) print(t) print(t.getSides()) l = [] l.append(s) l.append(c) l.append(r) for i in range(0, 3): print(l[i]) #getRadius() #오류가 나므로 주석 처리
# Render the image iterating through faces for face in model.faces: p0, p1, p2 = [model.vertices[i] for i in face] n0, n1, n2 = [vertexNormals[i] for i in face] # Define the light direction lightDir = Vector(0, 0, -1) # Set to true if face should be culled cull = False # Transform vertices and calculate lighting intensity per vertex transformedPoints = [] for p, n in zip([p0, p1, p2], [n0, n1, n2]): intensity = n * lightDir # Intensity < 0 means light is shining through the back of the face # In this case, don't draw the face at all ("back-face culling") if intensity < 0: cull = True break screenX, screenY = getOrthographicProjection(p.x, p.y, p.z) transformedPoints.append(Point(screenX, screenY, p.z, Color(intensity*255, intensity*255, intensity*255, 255))) if not cull: Triangle(transformedPoints[0], transformedPoints[1], transformedPoints[2]).draw(image, zBuffer) image.saveAsPNG("image.png")
D. 세변이 3(밑변),4,5이고, 높이가 4인 삼각형을 정의하여 t에 저장한다. E. c의 면적과 둘레를 출력한다. F. r의 면적과 둘레를 출력한다. 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.