Answer:
See explaination
Step-by-step explanation:
# shapes.py
import math class Circle: def __init__(self, radius = 0): self.__radius = radius self.__area = math.pi * self.__radius ** 2 self.__circumference = 2 * math.pi * self.__radius def set_radius(self, radius): self.__radius = radius self.__area = math.pi * self.__radius ** 2 self.__circumference = 2 * math.pi * self.__radius def get_radius(self): return self.__radius def get_area(self): return self.__area def get_circumference(self): return self.__circumference class Rectangle: def __init__(self, length = 0, breadth = 0): self.__length = length self.__breadth = breadth self.__calc_area() self.__calc_perimeter() def __calc_area(self): self.__area = self.__length * self.__breadth def __calc_perimeter(self): self.__perimeter = 2 * (self.__length + self.__breadth) def set_length(self, length): self.__length = length self.__calc_area() self.__calc_perimeter() def set_breadth(self, breadth): self.__breadth = breadth self.__calc_area() self.__calc_perimeter() def get_length(self): return self.__length def get_breadth(self): return self.__breadth def get_area(self): return self.__area def get_perimeter(self): return self.__perimeter
# testShapes.py (Main program)
import shapes if __name__ == "__main__": print("a. Circle") print("b. Rectangle") choice = input("\\Choose a Shape to continue: ") if choice == "a": radius = int(input("\\Enter Radius of the Circle: ")) myCircle = shapes.Circle(radius) print("\\Area of Circle:", myCircle.get_area()) print("Circumference of Circle:", myCircle.get_circumference()) reset = input("Do you want to change Radius (y/n): ") if reset == "y" or reset == "Y": radius = int(input("\\Enter new Radius of the Circle: ")) myCircle = shapes.Circle(radius) print("\\Area of Circle:", myCircle.get_area()) print("Circumference of Circle:", myCircle.get_circumference()) elif choice == "b": length = int(input("\\Enter length of Rectangle: ")) breadth = int(input("Enter breadth of Rectangle: ")) myRectangle = shapes.Rectangle(length, breadth) print("\\Area of Rectangle:", myRectangle.get_area()) print("Perimeter of Rectangle:", myRectangle.get_perimeter()) reset = input("Do you want to change Length and Breadth (y/n): ") if reset == "y" or reset == "Y": length = int(input("\\Enter new length of Rectangle: ")) breadth = int(input("Enter new breadth of Rectangle: ")) myRectangle = shapes.Rectangle(length, breadth) print("\\Area of Rectangle:", myRectangle.get_area()) print("Perimeter of Rectangle:", myRectangle.get_perimeter()) else: print("Invalid choice!!! \'", choice, "\'\\Exiting...")