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 display Artist Name, born XXXX if the year of death is -1 or Artist 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()

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

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 display Artist Name, born XXXX if the year of death is -1 or Artist 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()

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 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
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