paperjam

triangle.py

Jun 11th, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.66 KB | None | 0 0
  1. #!/bin/env python
  2. import math
  3.  
  4. class GeometricObject :
  5.     def __init__(self):
  6.         self.color= 'black'
  7.         self.filled = 0
  8.  
  9.     def getColor(self):
  10.         return self.color
  11.  
  12.     def getFilled(self):
  13.         return self.filled
  14.  
  15.     def setColor(self,color):
  16.         self.color = color
  17.  
  18.     def setFilled(self, filled):
  19.         self.filled = filled
  20.  
  21. class Triangle(GeometricObject):
  22.     def __init__(self):
  23.         super().__init__()
  24.         self.side1 = 1.0
  25.         self.side2 = 1.0
  26.         self.side3 = 1.0
  27.  
  28.     def setSides(self,side1,side2,side3):
  29.  
  30.         if((side1 + side2) <= side3) or ((side1 + side3) <= side2) or ((side3 + side2) <= side1):
  31.             raise RuntimeError('The given three sides cannot form a triangle')
  32.  
  33.         self.side1 = side1
  34.         self.side2 = side2
  35.         self.side3 = side3
  36.  
  37.     def getArea(self):
  38.         s = (self.side1 + self.side2 + self.side3) / 2
  39.         area = math.sqrt( s* (s-self.side1) * (s-self.side2) * (s-self.side3))
  40.         return area
  41.  
  42.     def getPerimeter(self):
  43.         return (self.side1 + self.side2 + self.side3)
  44.  
  45.     def __str__(self):
  46.         output = ("Triangle: side1 = " + str(self.side1) + " side2 = " + str(self.side2) + " side3 = " + str(self.side3)+" color = "+self.color)
  47.         output = output+" Filled: "
  48.  
  49.         if(self.filled == 0):
  50.             output = output+ "No"
  51.         else:
  52.             output = output+"Yes"
  53.         return output
  54.  
  55.  
  56. tria1 = Triangle()
  57. print(tria1, " Area: ",tria1.getArea(), " Perimeter: ",tria1.getPerimeter())
  58. tria2 = Triangle()
  59. tria2.setSides(2,4,5)
  60. print(tria2, " Area: ",tria2.getArea(), " Perimeter: ",tria2.getPerimeter())
Advertisement
Add Comment
Please, Sign In to add comment