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.

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter11: Advanced Inheritance Concepts
Section: Chapter Questions
Problem 2PE
icon
Related questions
Question

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

If the input is:

Brice Marden 1938 -1 Distant Muses 2000

the output is:

Artist: Brice Marden, born 1938 Title: Distant Muses, 2000

This the code you gave me:

class Artist():

def __init__(self, name=None, birth=0, death=0):

self.artist_name = name
self.birth_year= birth
self.death_year= death


def __str__(self):
if self.death_year==-1:
return f'Artist: {self.artist_name}, born {self.birth_year}'
else:
return f'Artist: {self.artist_name}, ({self.birth_year}-{self.death_year})'

from Artist import Artist
class Artwork():

def __init__(self,title='None',created=0,artist=Artist):
self.title = title
self.year_created = created
self.artist = artist


def __str__(self):
return f'Title: {self.title}, {self.year_created}'

from Artist import Artist
from Artwork import Artwork

def main():


artist = input('')
born = int(input(''))
died = int(input(''))

title = input('')
created_yr = int(input(''))


artist = Artist(artist,born,died)
artwork = Artwork(title,created_yr,artist)

print(artist)
print(artwork)

main()

error produced.

This is an code I used:

class Artist:
def __init__(self, user_artist_name="None", user_birth_year=0, user_death_year=0):
self.name = user_artist_name
self.birth = user_birth_year
self.death = user_death_year

def print_info(self):
if self.death == -1:
print("Artist: {}, born {}".format(self.name, self.birth))
else:
print("Artist: {} ({}-{})".format(self.name, self.birth, self.death))


class Artwork:
def __init__(self, user_title= "None", year_created=0, user_artist=Artist()):
self.title = user_title
self.year = year_created
self.artist = user_artist

def print_info(self):
print("Title: {}, {}".format(self.title, self.year))


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)

user_artist.print_info()

new_artwork = Artwork(user_title, user_year_created, user_artist)

new_artwork.print_info()

I got the first to which is the artist and the artwork, but the test failed.

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Class
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
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,