Input and output should reflect as stated below: Ex: If the input is: Pablo Picasso 1881 1973 Three Musicians 1921 the output is: Artist: Pablo Picasso (1881 to 1973) Title: Three Musicians, 1921 Ex: If the input is: Brice Marden 1938 -1 Distant Muses 2000 the output is: Artist: Brice Marden (1938 to present) Title: Distant Muses, 2000 Ex: If the input is: Banksy -1 -1 Balloon Girl 2002 the output is: Artist: Banksy (unknown) Title: Balloon Girl, 2002

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

Hello, 

I need help with this current code. The last indiividual that answered the question, did not answer it. I need to know what is wrong with the code so that the errors in the screen shot of the code can be corrected. Can you please do this? It is really only common sense. 

This is the code attached and the errors that need corrected. Not that difficult. Please review and assist me with the correct spacing of the code. 

The current Lab information: 

2.15 LAB: Artwork label (modules)

Input and output should reflect as stated below:

Ex: If the input is:

Pablo Picasso 1881 1973 Three Musicians 1921

the output is:

Artist: Pablo Picasso (1881 to 1973) Title: Three Musicians, 1921

Ex: If the input is:

Brice Marden 1938 -1 Distant Muses 2000

the output is:

Artist: Brice Marden (1938 to present) Title: Distant Muses, 2000

Ex: If the input is:

Banksy -1 -1 Balloon Girl 2002

the output is:

Artist: Banksy (unknown) Title: Balloon Girl, 2002

Please review the code and correct the code, so that the errors are not showing. Thank you again. Please explain the code errors and correct them and send me the corrected code in a screen shot like I have done. 

Thank you!

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

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

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

    def print_info(self):
        self.artist.print_info()
        print('Title: ' + 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()
```

This code defines two classes, `Artist` and `Artwork`, each with initializers and a method to print information.

1. **Artist Class**: 
   - Attributes: `name`, `birth_year`, `death_year`.
   - Method `print_info`: Prints the artist's name and lifespan. If the artist is still alive (indicated by `death_year` being -1), it only prints the birth year.

2. **Artwork Class**:
   - Attributes: `title`, `year_created`, `artist` (an instance of the `Artist` class).
   - Method `print_info`: Calls the artist's `print_info` method and prints the artwork's title and creation year.

3. **Main Execution**:
   - Prompts the user for details about an artist and an artwork.
   - Creates instances of `Artist` and `Artwork` with the provided information.
   - Calls `print_info` on the `Artwork` instance, which outputs details about both the artist and artwork.
Transcribed Image Text:```python class Artist: def __init__(self, name='None', birth_year=0, death_year=0): self.name = name self.birth_year = birth_year self.death_year = death_year def print_info(self): print('Artist: ' + self.name, end='') if self.death_year == -1: print(' (' + str(self.birth_year) + ')') else: print(' (' + str(self.birth_year) + ' to ' + str(self.death_year) + ')') class Artwork: def __init__(self, title='None', year_created=0, artist=Artist()): self.title = title self.year_created = year_created self.artist = artist def print_info(self): self.artist.print_info() print('Title: ' + 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() ``` This code defines two classes, `Artist` and `Artwork`, each with initializers and a method to print information. 1. **Artist Class**: - Attributes: `name`, `birth_year`, `death_year`. - Method `print_info`: Prints the artist's name and lifespan. If the artist is still alive (indicated by `death_year` being -1), it only prints the birth year. 2. **Artwork Class**: - Attributes: `title`, `year_created`, `artist` (an instance of the `Artist` class). - Method `print_info`: Calls the artist's `print_info` method and prints the artwork's title and creation year. 3. **Main Execution**: - Prompts the user for details about an artist and an artwork. - Creates instances of `Artist` and `Artwork` with the provided information. - Calls `print_info` on the `Artwork` instance, which outputs details about both the artist and artwork.
### Compare Output Sections

#### Section 2: Compare Output 

- **Output differs. See highlights below.**

  **Input:**
  ```
  Brice Marden
  1938
  -1
  Distant Muses
  2000
  ```

  **Your Output:**
  ```
  Artist: Brice Marden, 1938
  Title: Distant Muses, 2000
  ```

  **Expected Output:**
  ```
  Artist: Brice Marden, 1938 - present
  Title: Distant Muses, 2000
  ```

  **Description:**
  The discrepancy in the output lies in the representation of the artist's lifespan. The expected output includes "1938 - present," indicating the artist is alive, while your output only lists the birth year, "1938."

- **Score: 0/1**

#### Section 3: Compare Output

- **Output differs. See highlights below.**

  **Input:**
  ```
  Banksy
  -1
  -1
  Balloon Girl
  2002
  ```

  **Your Output:**
  ```
  Artist: Banksy, -1
  Title: Balloon Girl, 2002
  ```

  **Expected Output:**
  ```
  Artist: Banksy (unknown)
  Title: Balloon Girl, 2002
  ```

  **Description:**
  The output difference arises from how the artist’s lifespan is conveyed. The expected output uses "(unknown)" to indicate the lack of specific birth and death years, whereas your output uses "-1."

- **Score: 0/1**

### Explanatory Note

Both sections illustrate the importance of representing artist information accurately. In Section 2, the artist's living status should be denoted if they are alive. In Section 3, unknown birth and death years should be appropriately reflected as "(unknown)" rather than using numerical placeholders.
Transcribed Image Text:### Compare Output Sections #### Section 2: Compare Output - **Output differs. See highlights below.** **Input:** ``` Brice Marden 1938 -1 Distant Muses 2000 ``` **Your Output:** ``` Artist: Brice Marden, 1938 Title: Distant Muses, 2000 ``` **Expected Output:** ``` Artist: Brice Marden, 1938 - present Title: Distant Muses, 2000 ``` **Description:** The discrepancy in the output lies in the representation of the artist's lifespan. The expected output includes "1938 - present," indicating the artist is alive, while your output only lists the birth year, "1938." - **Score: 0/1** #### Section 3: Compare Output - **Output differs. See highlights below.** **Input:** ``` Banksy -1 -1 Balloon Girl 2002 ``` **Your Output:** ``` Artist: Banksy, -1 Title: Balloon Girl, 2002 ``` **Expected Output:** ``` Artist: Banksy (unknown) Title: Balloon Girl, 2002 ``` **Description:** The output difference arises from how the artist’s lifespan is conveyed. The expected output uses "(unknown)" to indicate the lack of specific birth and death years, whereas your output uses "-1." - **Score: 0/1** ### Explanatory Note Both sections illustrate the importance of representing artist information accurately. In Section 2, the artist's living status should be denoted if they are alive. In Section 3, unknown birth and death years should be appropriately reflected as "(unknown)" rather than using numerical placeholders.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Processes of 3D Graphics
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