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   Code: def __init__(self,aname = "None",abirth = 0,adeath = 0): self.aname = aname self.abirth_year = abirth self.adeath_year = adeath #Define print_info() method def print_info(self): # If death_year is -1 if self.adeath_year == -1: #Print only birth_year print('Artist: {}, born {}'.format(self.aname, self.abirth_year)) else: #Print birth_year and death year print('Artist: {} ({}-{})'.format(self.aname, self.abirth_year, self.adeath_year)) #Create a class class Artist: #Define the constructor def __init__(self,userartist_name = "None",userbirth_year = 0, userdeath_year = 0): self.userartist_name=userartist_name self.userbirth_year=userbirth_year self.userdeath_year=userdeath_year #Define the method def print_info(self): #If death year is -1 if(userdeath_year==-1): #Print artist name, birth_year print("Artist: ",userartist_name,", born ",userbirth_year) else: #Print artist name, birth_year and death year print("Artist: ",userartist_name," (",userbirth_year,"-", userdeath_year,")") #Create a class class Artwork: #Define the constructor def __init__(self,atitle = "None",ayear = 0,anartist = Artist()): self.atitle = atitle self.ayear_created = ayear self.anartist = anartist #Define the method def print_info(self): #Call the method self.anartist.print_info() #Print the title and the year print('Title: %s, %d' % (self.atitle, self.ayear_created)) # Main function if __name__ == "__main__": #Get the artist name userartist_name = input() #Get the birth year userbirth_year = int(input()) #Get the death year userdeath_year = int(input()) #Get the title usertitle = input() #Get the year created useryear_created = int(input()) userartist = Artist(userartist_name, userbirth_year, userdeath_year) new_anartwork = Artwork(usertitle, useryear_created, userartist) #Call the method new_anartwork.print

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 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

 

Code:

def __init__(self,aname = "None",abirth = 0,adeath = 0):

self.aname = aname

self.abirth_year = abirth

self.adeath_year = adeath

#Define print_info() method

def print_info(self):

# If death_year is -1

if self.adeath_year == -1:

#Print only birth_year

print('Artist: {}, born {}'.format(self.aname, self.abirth_year))

else:

#Print birth_year and death year

print('Artist: {} ({}-{})'.format(self.aname, self.abirth_year, self.adeath_year))

#Create a class

class Artist:

#Define the constructor

def __init__(self,userartist_name = "None",userbirth_year = 0, userdeath_year = 0):

self.userartist_name=userartist_name

self.userbirth_year=userbirth_year

self.userdeath_year=userdeath_year

#Define the method

def print_info(self):

#If death year is -1

if(userdeath_year==-1):

#Print artist name, birth_year

print("Artist: ",userartist_name,", born ",userbirth_year)

else:

#Print artist name, birth_year and death year

print("Artist: ",userartist_name," (",userbirth_year,"-", userdeath_year,")")

#Create a class

class Artwork:

#Define the constructor

def __init__(self,atitle = "None",ayear = 0,anartist = Artist()):

self.atitle = atitle

self.ayear_created = ayear

self.anartist = anartist

#Define the method

def print_info(self):

#Call the method

self.anartist.print_info()

#Print the title and the year

print('Title: %s, %d' % (self.atitle, self.ayear_created))

# Main function

if __name__ == "__main__":

#Get the artist name

userartist_name = input()

#Get the birth year

userbirth_year = int(input())

#Get the death year

userdeath_year = int(input())

#Get the title

usertitle = input()

#Get the year created

useryear_created = int(input())

userartist = Artist(userartist_name, userbirth_year, userdeath_year)

new_anartwork = Artwork(usertitle, useryear_created, userartist)

#Call the method

new_anartwork.print_info()

### Artwork Label Formatting Exercise

This exercise focuses on formatting text input into a specific output format for educational purposes. The example given involves transcribing artist and artwork information into a standardized format.

#### Input and Output Discrepancies

1. **First Example:**
   - **Input:**
     ```
     Pablo Picasso
     1881
     1973
     Three Musicians
     1921
     ```

   - **Your Output:**
     ```
     Artist: Pablo Picasso (1881-1973)
     Title: Three Musicians, 1921
     ```

   - **Expected Output:**
     ```
     Artist: Pablo Picasso (1881-1973)
     Title: Three Musicians, 1921
     ```

   - **Issue:** The output is nearly correct but has whitespace differences highlighted in yellow.

2. **Second Example:**
   - **Input:**
     ```
     Brice Marden
     1938
     ```
   - **Note:** Only partial input is visible and the corrected output is not shown in the image provided.

#### Interpretation and Correction

- **Formatting Rules:**
  - The artist's name is followed by their birth and death years in parentheses.
  - The title of the artwork follows with the year separated by a comma.
  
- **Common Errors:**
  - Ensure consistency in spacing and punctuation as minor whitespace differences can cause output mismatches.

This exercise illustrates the importance of precise formatting in data entry and programming tasks, emphasizing attention to detail and the need for exact text reproduction.
Transcribed Image Text:### Artwork Label Formatting Exercise This exercise focuses on formatting text input into a specific output format for educational purposes. The example given involves transcribing artist and artwork information into a standardized format. #### Input and Output Discrepancies 1. **First Example:** - **Input:** ``` Pablo Picasso 1881 1973 Three Musicians 1921 ``` - **Your Output:** ``` Artist: Pablo Picasso (1881-1973) Title: Three Musicians, 1921 ``` - **Expected Output:** ``` Artist: Pablo Picasso (1881-1973) Title: Three Musicians, 1921 ``` - **Issue:** The output is nearly correct but has whitespace differences highlighted in yellow. 2. **Second Example:** - **Input:** ``` Brice Marden 1938 ``` - **Note:** Only partial input is visible and the corrected output is not shown in the image provided. #### Interpretation and Correction - **Formatting Rules:** - The artist's name is followed by their birth and death years in parentheses. - The title of the artwork follows with the year separated by a comma. - **Common Errors:** - Ensure consistency in spacing and punctuation as minor whitespace differences can cause output mismatches. This exercise illustrates the importance of precise formatting in data entry and programming tasks, emphasizing attention to detail and the need for exact text reproduction.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 2 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
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