Python modules. Define the Artist class in Artist.py with a constructor to initialize an artist's information. The constructor should by default initialize the artist's name to "None" and the years of birth and death to 0. Define the Artwork class in Artwork.py with a constructor to initialize an artwork's information. The constructor should by default initialize the title to "None", the year created to 0, and the artist to use the Artist default constructor parameter values. Add an import statement to import the Artist class. Add import statements to main.py to import the Artist and Artwork classes. Ex: If the input is: Pablo Picasso 1881 1973 Three Musicians 1921 the output is: Artist: Pablo Picasso (1881-1973) Title: Three Musicians, 1921 main.py: TODO: Import Artist from Artist.py and Artwork from Artwork.py if __name__ == "__main__": user_artist_name = input() user_birth_year = int(input()) user_death_year = int(input()) user_title = input() user_year_created = int(input()) user_artist = Artist(user_artist_name, user_birth_year, user_death_year) new_artwork = Artwork(user_title, user_year_created, user_artist) new_artwork.print_info() Artist.py: class Artist: # TODO: Define constructor with parameters to initialize instance attributes # (name, birth_year, death_year) def print_info(self): if self.death_year == -1: print('Artist: {}, born {}'.format(self.name, self.birth_year)) else: print('Artist: {} ({}-{})'.format(self.name, self.birth_year, self.death_year)) Artwork.py: # TODO: Import Artist from Artist.py class Artwork: # TODO: Define constructor with parameters to initialize instance attributes # (title, year_created, artist) def print_info(self): self.artist.print_info() print('Title: %s, %d' % (self.title, self.year_created))

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Python modules.

Define the Artist class in Artist.py with a constructor to initialize an artist's information. The constructor should by default initialize the artist's name to "None" and the years of birth and death to 0.

Define the Artwork class in Artwork.py with a constructor to initialize an artwork's information. The constructor should by default initialize the title to "None", the year created to 0, and the artist to use the Artist default constructor parameter values. Add an import statement to import the Artist class.

Add import statements to main.py to import the Artist and Artwork classes.

Ex: If the input is:

Pablo Picasso

1881

1973

Three Musicians

1921

the output is:

Artist: Pablo Picasso (1881-1973)

Title: Three Musicians, 1921

main.py:

TODO: Import Artist from Artist.py and Artwork from Artwork.py

if __name__ == "__main__":
user_artist_name = input()
user_birth_year = int(input())
user_death_year = int(input())
user_title = input()
user_year_created = int(input())

user_artist = Artist(user_artist_name, user_birth_year, user_death_year)

new_artwork = Artwork(user_title, user_year_created, user_artist)

new_artwork.print_info()

Artist.py:

class Artist:
# TODO: Define constructor with parameters to initialize instance attributes
# (name, birth_year, death_year)

def print_info(self):
if self.death_year == -1:
print('Artist: {}, born {}'.format(self.name, self.birth_year))
else:
print('Artist: {} ({}-{})'.format(self.name, self.birth_year, self.death_year))

Artwork.py:

# TODO: Import Artist from Artist.py

class Artwork:
# TODO: Define constructor with parameters to initialize instance attributes
# (title, year_created, artist)

def print_info(self):
self.artist.print_info()
print('Title: %s, %d' % (self.title, self.year_created))

 

Expert Solution
Explanation


Here I have created the class Artist with the init method where I have assigned the values to the data member of the class which is passed by the user from the main method. Then I have created the print_info method to print the details of the Artist along with the condition for death_year as per the question

Now I have defined the class Artwork with the init method where I have assigned the values to the data member of the class which is passed by the user from the main method. Then I have created the print_info method to print the details of the Artwork, but before that, I have called the print_info method from the class Artist to first print the information of Artist and then the information of the Artwork

At last, I have the main method in which I have first of all asked the user for input and then, I have created the object of both the classes. Now I have used the object of class Artwork to call the print_info method to display the result.

 

trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Data members
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education