<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">"""
Module containing two classes: Point3 and Rectangle.

Author: Walker M. White (wmw2), Anne Bracy (awb93), Lillian Lee (LJL2),
        Daisy Fan (kdf4)
Date:   Feb 2021
"""


class Point3():
    """
    An instance is a point in 3D space.

    Example: to create a 3D point with the coordinates (4,6,5), type:
    p1 = shapes.Point3(4,6,5)

    """

    def __init__(self, x, y, z):
        """
        Creates a new Point with the given coordinates, each is a number.
        """
        self.x = x
        self.y = y
        self.z = z

    def greet(self):
        """
        Prints a greeting that tells the location of the point.
        """
        msg = "Hi! I am a 3-dimensional point located at ("
        print(msg + str(self.x)+","+str(self.y)+","+str(self.z)+")")


class Rectangle():
    """
    An instance is a rectangle in 2D space.

    Example: to create a rectangle with the opposing corners (3,4) and (7,5), type:
    r1= shapes.Rectangle(3,4,7,5)

    """

    def __init__(self, left, bottom, right, top):
        """
        Creates a new Rectangle with the given coordinates.

        Preconditions: left, bottom, right, top are each a number and
        left&lt;right and bottom&lt;top

        """
        self.left = left
        self.bottom = bottom
        self.right = right
        self.top = top

    def greet(self):
        """
        Prints a greeting that tells the bottom left corner of the rectangle.
        """
        print("Hi, I am a rectangle. My bottom left corner is located at ("+str(self.left)+","+str(self.bottom)+")")
</pre></body></html>