PYTHON program Please help with the following exercise The T
PYTHON program, Please help with the following exercise:
(The Triangle class) Modify the Triangle class in the Programming file below to throw a RuntimeError exception if the three given sides cannot form a triangle.
import math
class GeometricObject :
 def __init__(self):
 self.color= \'black\'
 self.filled = 0
   
 def getColor(self):
 return self.color
   
 def getFilled(self):
 return self.filled
   
 def setColor(self,color):
 self.color = color
   
 def setFilled(self, filled):
 self.filled = filled
   
class Triangle(GeometricObject):
 def __init__(self):
 super().__init__()
 self.side1 = 1.0
 self.side2 = 1.0
 self.side3 = 1.0
   
 def setSides(self,side1,side2,side3):
 self.side1 = side1
 self.side2 = side2
 self.side3 = side3
   
 def getArea(self):
 s = (self.side1+self.side2+self.side3)/2
 area = math.sqrt( s* (s-self.side1) * (s-self.side2) * (s-self.side3))
 return area
   
 def getPerimeter(self):
 return (self.side1+self.side2+self.side3)
   
 def __str__(self):
 output = (\"Triangle: side1 = \" + str(self.side1) + \" side2 = \" + str(self.side2)
 + \" side3 = \" + str(self.side3)+\" color = \"+self.color)
 output = output+\" Filled: \"
   
 if(self.filled == 0):
 output = output+ \"No\"
 else:
 output = output+\"Yes\"
 return output
   
   
tria1 = Triangle()
 print(tria1, \" Area: \",tria1.getArea(), \" Perimeter: \",tria1.getPerimeter())
tria2 = Triangle()
 tria2.setSides(3,4,5)
 print(tria2, \" Area: \",tria2.getArea(), \" Perimeter: \",tria2.getPerimeter())
Solution
import math
 class GeometricObject :
 def __init__(self):
 self.color= \'black\'
 self.filled = 0
   
 def getColor(self):
 return self.color
   
 def getFilled(self):
 return self.filled
   
 def setColor(self,color):
 self.color = color
   
 def setFilled(self, filled):
 self.filled = filled
   
 class Triangle(GeometricObject):
 def __init__(self):
 super().__init__()
 self.side1 = 1.0
 self.side2 = 1.0
 self.side3 = 1.0
   
 def setSides(self,side1,side2,side3):
 if(side1+side2<=side3):
 raise RuntimeError(\'The given three sides cannot from a triangle\')
 elif(side1+side3<=side2):
 raise RuntimeError(\'The given three sides cannot from a triangle\')
 elif(side3+side2<=side1):
 raise RuntimeError(\'The given three sides cannot from a triangle\')
 self.side1 = side1
 self.side2 = side2
 self.side3 = side3
   
 def getArea(self):
 s = (self.side1+self.side2+self.side3)/2
 area = math.sqrt( s* (s-self.side1) * (s-self.side2) * (s-self.side3))
 return area
   
 def getPerimeter(self):
 return (self.side1+self.side2+self.side3)
   
 def __str__(self):
 output = (\"Triangle: side1 = \" + str(self.side1) + \" side2 = \" + str(self.side2)
 + \" side3 = \" + str(self.side3)+\" color = \"+self.color)
 output = output+\" Filled: \"
   
 if(self.filled == 0):
 output = output+ \"No\"
 else:
 output = output+\"Yes\"
 return output
   
   
 tria1 = Triangle()
 print(tria1, \" Area: \",tria1.getArea(), \" Perimeter: \",tria1.getPerimeter())
 tria2 = Triangle()
 tria2.setSides(1,4,5)
 print(tria2, \" Area: \",tria2.getArea(), \" Perimeter: \",tria2.getPerimeter())



