Define the Artist class with a constructor to initialize an artist's information and a print_info() method. The constructor should by default initialize the artist's name to "None" and the years of...


Define the Artist class with a constructor to initialize an artist's information and a print_info() method. The constructor should by default initialize the artist's name to "None" and the years of birth and death to 0. print_info() should displayArtist Name, born XXXX if the year of death is -1 orArtist Name (XXXX-YYYY) otherwise.


Define the Artwork class with a constructor to initialize an artwork's information and a print_info() method. 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.


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 code is correct but it says:


TypeError: __init__() missing 3 required positional arguments: 'name', 'birth_year', and 'death_year'


and


TypeError: __init__() missing 3 required positional arguments: 'title', 'year_created', and 'artist'



class Artist:
    def __init__(self, name, birth_year, death_year):
        self.name = "None"
        self.birth_year = 0
        self.death_year = 0




    def __init__(self, name, birth_year, death_year):
        self.name = name
        self.birth_year = birth_year
        self.death_year = death_year

    def print_info(self):
        if self.death_year == -1:
            print("Artist: "+self.name, end="")
            print(", born "+str(self.birth_year), end = "")
        else:
            print("Artist: "+self.name, end=" ")
            print("("+str(self.birth_year)+"-" + str(self.death_year)+")", end="")




class Artwork:
    def __init__(self, name, birth_year, death_year):
        self.title = "None"
        self.year_created = 0


    def __init__(self, title, year_created, artist):
        self.title = title
        self.year_created = year_created
        self.art = artist
    def print_info(self):
        self.art.print_info()
        print("\nTitle: "+self.title + ", "+ str(self.year_created))
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()

Jun 05, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here