MCPcopy Create free account
hub / github.com/TheAlgorithms/Python / area_triangle_three_sides

Function area_triangle_three_sides

maths/area.py:315–360  ·  view source on GitHub ↗

Calculate area of triangle when the length of 3 sides are known. This function uses Heron's formula: https://en.wikipedia.org/wiki/Heron%27s_formula >>> area_triangle_three_sides(5, 12, 13) 30.0 >>> area_triangle_three_sides(10, 11, 12) 51.521233486786784 >>> ar

(side1: float, side2: float, side3: float)

Source from the content-addressed store, hash-verified

313
314
315def area_triangle_three_sides(side1: float, side2: float, side3: float) -> float:
316 """
317 Calculate area of triangle when the length of 3 sides are known.
318 This function uses Heron's formula: https://en.wikipedia.org/wiki/Heron%27s_formula
319
320 >>> area_triangle_three_sides(5, 12, 13)
321 30.0
322 >>> area_triangle_three_sides(10, 11, 12)
323 51.521233486786784
324 >>> area_triangle_three_sides(0, 0, 0)
325 0.0
326 >>> area_triangle_three_sides(1.6, 2.6, 3.6)
327 1.8703742940919619
328 >>> area_triangle_three_sides(-1, -2, -1)
329 Traceback (most recent call last):
330 ...
331 ValueError: area_triangle_three_sides() only accepts non-negative values
332 >>> area_triangle_three_sides(1, -2, 1)
333 Traceback (most recent call last):
334 ...
335 ValueError: area_triangle_three_sides() only accepts non-negative values
336 >>> area_triangle_three_sides(2, 4, 7)
337 Traceback (most recent call last):
338 ...
339 ValueError: Given three sides do not form a triangle
340 >>> area_triangle_three_sides(2, 7, 4)
341 Traceback (most recent call last):
342 ...
343 ValueError: Given three sides do not form a triangle
344 >>> area_triangle_three_sides(7, 2, 4)
345 Traceback (most recent call last):
346 ...
347 ValueError: Given three sides do not form a triangle
348 """
349 if side1 < 0 or side2 < 0 or side3 < 0:
350 raise ValueError("area_triangle_three_sides() only accepts non-negative values")
351 elif side1 + side2 < side3 or side1 + side3 < side2 or side2 + side3 < side1:
352 raise ValueError("Given three sides do not form a triangle")
353 semi_perimeter = (side1 + side2 + side3) / 2
354 area = sqrt(
355 semi_perimeter
356 * (semi_perimeter - side1)
357 * (semi_perimeter - side2)
358 * (semi_perimeter - side3)
359 )
360 return area
361
362
363def area_parallelogram(base: float, height: float) -> float:

Callers 1

area.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected