The trianglelib API Reference¶
Routines for working with triangles.
The two modules inside of this package are packed with useful features for the programmer who needs to support triangles:
shapeThis module provides a full-fledged Triangle object that can be instantiated and then asked to provide all sorts of information about its properties.
utilsFor the programmer in a hurry, this module offers quick functions that take as arguments the three side lengths of a triangle, and perform a quick computation without the programmer having to make the extra step of creating an object.
The “shape” module¶
Use the triangle class to represent triangles.
-
class
trianglelib.shape.Triangle(a, b, c)[source]¶ A
Triangleobject is a three-sided polygon.You instantiate a
Triangleby providing exactly three lengthsa,b, andc.They can either be intergers or floating-point numbers, and should be listed clockwise around the triangle.
If the three lengths cannot make a valid triangle, then
ValueErrorwill be raised instead.>>> from trianglelib.shape import Triangle >>> t = Triangle(3, 4, 5) >>> print(t.is_equilateral()) False >>> print(t.area()) 6.0
Triangles support the following attributes, operators, and methods.
-
triangle1 == triangle2 Returns true if the two triangles have sides of the same lengths, in the same order. Note that it is okay if the two triangles happen to start their list of sides at a different corner;
3,4,5is the same triangle as4,5,3but neither of these are the same triangle as their mirror image5,4,3.
-
__init__(a, b, c)[source]¶ Create a
Triangleobject with sides of lengths a, b, and c.Raises ValueError if the three length values provided cannot actually form a triangle.
- Parameters
a (
float) – side length oneb (
float) – side length twoc (
float) – side length three
- Raises
ValueError – side lengths must all be positive
ValueError – one side is too long to make a triangle
-
is_equilateral()[source]¶ Return whether this
Triangleobject is equilateral.- Returns
whether the
Triangleobject is equilateral- Return type
bool
-
is_isosceles()[source]¶ Return whether this
Triangleobject is isosceles.- Returns
whether the
Triangleobject is isosceles- Return type
bool
-
perimeter()[source]¶ Return the perimeter of this
Triangleobject.- Returns
the perimeter of the
Triangleobject.- Return type
float
-
The “utils” module¶
Routines to test triangle properties without explicit instantiation.
-
trianglelib.utils.compute_area(a, b, c)[source]¶ Return the area of the triangle with side lengths a, b, and c.
If the three lengths provided cannot be the sides of a triangle, then the area 0 is returned.
- Parameters
a (
float) – side length oneb (
float) – side length twoc (
float) – side length three
- Returns
area. If the three lengths provided cannot be the sides of a triangle, then the perimeter 0 is returned.
- Return type
float
-
trianglelib.utils.compute_perimeter(a, b, c)[source]¶ Return the perimeter of the triangle with side lengths a, b, and c.
If the three lengths provided cannot be the sides of a triangle, then the perimeter 0 is returned.
- Parameters
a (
float) – side length oneb (
float) – side length twoc (
float) – side length three
- Returns
perimeter. If the three lengths provided cannot be the sides of a triangle, then the perimeter 0 is returned.
- Return type
float
-
trianglelib.utils.is_equilateral(a, b, c)[source]¶ Return whether lengths a, b, and c are an equilateral triangle.
- Parameters
a (
float) – side length oneb (
float) – side length twoc (
float) – side length three
- Returns
whether lengths a, b, and c are an equilateral triangle
- Return type
bool