Python/maths/area.py
lance-pyles 48df91d48b
Add surface area class (#2183)
* add surface area class

* add new line to end of file

* move surface area class into area class

* add missing import

* added pi import

* fix typo

* added blank line

* fixed more import issues

* comment fix

* comment fixes
2020-07-07 00:21:59 +02:00

109 lines
2.3 KiB
Python

"""
Find the area of various geometric shapes
"""
from math import pi
from typing import Union
def surface_area_cube(side_length: Union[int, float]) -> float:
"""
Calculate the Surface Area of a Cube.
>>> surface_area_cube(1)
6
>>> surface_area_cube(3)
54
"""
return 6 * pow(side_length, 2)
def surface_area_sphere(radius: float) -> float:
"""
Calculate the Surface Area of a Sphere.
Wikipedia reference: https://en.wikipedia.org/wiki/Sphere
:return 4 * pi * r^2
>>> surface_area_sphere(5)
314.1592653589793
>>> surface_area_sphere(1)
12.566370614359172
"""
return 4 * pi * pow(radius, 2)
def area_rectangle(base, height):
"""
Calculate the area of a rectangle
>> area_rectangle(10,20)
200
"""
return base * height
def area_square(side_length):
"""
Calculate the area of a square
>>> area_square(10)
100
"""
return side_length * side_length
def area_triangle(length, breadth):
"""
Calculate the area of a triangle
>>> area_triangle(10,10)
50.0
"""
return 1 / 2 * length * breadth
def area_parallelogram(base, height):
"""
Calculate the area of a parallelogram
>> area_parallelogram(10,20)
200
"""
return base * height
def area_trapezium(base1, base2, height):
"""
Calculate the area of a trapezium
>> area_trapezium(10,20,30)
450
"""
return 1 / 2 * (base1 + base2) * height
def area_circle(radius):
"""
Calculate the area of a circle
>> area_circle(20)
1256.6370614359173
"""
return pi * radius * radius
def main():
print("Areas of various geometric shapes: \n")
print(f"Rectangle: {area_rectangle(10, 20)=}")
print(f"Square: {area_square(10)=}")
print(f"Triangle: {area_triangle(10, 10)=}")
print(f"Parallelogram: {area_parallelogram(10, 20)=}")
print(f"Trapezium: {area_trapezium(10, 20, 30)=}")
print(f"Circle: {area_circle(20)=}")
print("Surface Areas of various geometric shapes: \n")
print(f"Cube: {surface_area_cube(20)=}")
print(f"Sphere: {surface_area_sphere(20)=}")
if __name__ == "__main__":
main()