Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Make the program that will output the values of my function display under the subclass items (Circle, Square, Cube) into a file, but when I

Make the program that will output the values of my function display under the subclass items (Circle, Square, Cube) into a file, but when I have a function (display) with multiple lines of return/ print statements the file will show "None" in place of any of the data. 

 

class Shape:

    def __init__(self):

        self.__color = "red"

    def set_color(self, color):

        self.__color = color

    def get_color(self):

        return self.__color

    def find_area(self):

        pass

    def find_volume(self):

        pass

    def display(self):

        print(self.__color)

 

class Circle(Shape):

    def __init__(self):

        super().__init__()

        self.__radius = 1

    def set_radius(self, radius):

        self.__radius = radius

    def get_radius(self):

        return self.__radius

    def find_area(self):

        return 3.14 * self.__radius ** 2

    def display(self):

        print("Type: Circle")

        super().display()  

        print("Area:", self.find_area())

 

class Square(Shape):

    def __init__(self):

        super().__init__()

        self.__side = 2.3

    def set_side(self, side):

        self.__side = side

    def get_side(self):

        return self.__side

    def find_area(self):

        return self.__side ** 2

    def display(self):

        print("Type: Square")

        super().display()

        print("Area:", self.find_area())

 

class Cube(Shape):

    def __init__(self):

        super().__init__()

        self.__length = 2

        self.__width = 2

        self.__height = 2

    def set_length(self, length):

        self.__length = length

    def set_width(self, width):

        self.__width = width

    def set_height(self, height):

        self.__height = height

    def get_length(self):

        return self.__length

    def get_width(self):

        return self.__width

    def get_height(self):

        return self.__height

    def find_volume(self):

        return self.__length * self.__width * self.__height

    def display(self):

        print("Type: Cube")

        super().display()

        print("Volume:", self.find_volume())

 

circles = 0

squares = 0

cubes = 0

 

shapes = []

for i in range(15):

    rand = random.randint(1, 3)

    if rand == 1:

        shapes.append(Circle())

    elif rand == 2:

        shapes.append(Square())

    else:

        shapes.append(Cube())

 

for shape in shapes:

        if isinstance(shape, Circle):

            circles += 1

        elif isinstance(shape, Square):

            squares += 1

        else:

            cubes += 1

 

    print()

    #  Prompts user for file name

    file_name = input("Enter file name: ")

 

    with open((file_name + ".txt"), "w") as f:

        # Writes results to text file

        for shape in shapes:

            if isinstance(shape,Circle):

                shape_name='Circle'

            if isinstance(shape,Square):

                shape_name='Square'

            else:

                shape_name='Cube'

            f.write('{}, Display{}, Area: {:.2f}'.format(shape_name, shape.display(),shape.find_area()))

        f.write("Results:")

        f.write("Circles: {}".format(circles))

        f.write("Squares: {}".format(squares))

        f.write("Cubes: {}".format(cubes))

Step by Step Solution

There are 3 Steps involved in it

Step: 1

To achieve your goal of redirecting the output of the display method to a file while handling multip... blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Income Tax Fundamentals 2013

Authors: Gerald E. Whittenburg, Martha Altus Buller, Steven L Gill

31st Edition

1111972516, 978-1285586618, 1285586611, 978-1285613109, 978-1111972516

More Books

Students also viewed these Programming questions