Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

PYTHON program, Please help with the following exercise: (The Triangle class) Mo

ID: 3779807 • Letter: P

Question

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())

Explanation / Answer

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())