Answered step by step
Verified Expert Solution
Question
1 Approved Answer
An art gallery wants to manage its collection of paintings and painters more efficiently. They would like to create a Python program to help with
An art gallery wants to manage its collection of paintings and painters more efficiently. They would like to create a Python program to help with this task. The following requirements need to be implemented:
Create a Painter class with the following instance attributes:# Testing the implementation
if :
# Create painters
hundert PainterHundertwasser "December "Austria"
pollock PainterPollock "January US
# Create a gallery
gallery Gallery
# Hundertwasser paintings
hundert.paintThe Way to You",
hundert.paintThe Second Skin",
# Pollock paintings
pollock.paintAlchemy
pollock.paint Convergence
# Confirm that the gallery is empty
gallery.listpaintings
print
# Add paintings to the gallery
for painter in Painter.allpainters:
for painting in painter.paintings:
gallery.addpaintingpainting
print
# Try adding duplicate
gallery.addpaintingpollockpaintings
print
# List paintings in the gallery
gallery.listpaintings
name the artists name
dob the authors date of birth
nationality the authors nationality
paintings a list to store all paintings created by the artist
The Painter class must also have a list named allpainters that stores all Painter objects that get instantiated. Be sure to add the painter to this list when a new painter is created in the init method This list will be used to add paintings to the gallery collection.
Create a method named paint in the Painter class that takes the following parameters:
title the title of the artwork
year the year the painting was created
The paint method in the Painter class must create a new Painting object described below with the Painter instance as its painter and add it to the painters list of paintings.
Create a Painting class with the following instance attributes:
title the title of the painting
painter an instance of the Painter class
year the year the painting was created
The Painting class must also have a list named allpaintings that stores all Painting objects that get instantiated. Be sure to add the painting to this list when a new painting is created in the init method This list will be used to add paintings to the gallery collection.
The Painting class must override the str method to return the paintings details in this format:
Title: Artist: year:
Finally, create a Gallery class with the following instance attributes:
collection a list to store all of the paintings in the gallery
Create a method named addpainting in the Gallery class that takes a Painting object as a parameter and adds it to the gallerys collection. Ensure that duplicate paintings are not added to the collection.
Display a message that indicates the painting paintings title and artists name was added to the gallery if it does not already have it in its collection or an alternative message if it is already part of the collection.
Create a method named listpaintings in the Gallery class that displays all of the paintings in the gallerys collection.
If the gallery does not have any artworks in the collection, it should state so
Your program should demonstrate the creation of multiple Painter objects, a single Gallery object, multiple Painting objects using the paint method in the Painter class, add all of the paintings to a Gallery object, and show usage of the listpaintings method to display the gallerys collection. Use the code provided in the first screenshot below to test your implementation. This code should go at the end of your program after you have satisfied all of the requirements above.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started