IT 117: Introduction to Scripting
Homework 9

Due

Sunday, April 7th at 11:59 PM

Deliverables

There is one deliverable for this assignment

Make sure the script obeys all the rules in Homework Script Rules

Specification

In your hw9.py define the class Book that has the following attributes
The class must have the following methods All the attributes in this class MUST be hidden.

get_title

This method returns the value of the title attribute.

get_subtitle

This method returns the value of the subtitle attribute.

get_author

This method returns the value of the author attribute.

get_publisher

This method returns the value of the publisher attribute.

__str__

This method returns a string consisting of the value of the title attribute, followed by a comma and a space, the value of the subtitle attribute, followed by a comma and a space, and the value of the author attribute, followed by a comma and a space, and the value of the publisher attribute

Script for this assignment

Open an a text editor and create the file hw9.py.

You can use the editor built into IDLE or a program like Sublime.

Test Code

Your hw9.py file must contain the following test code at the bottom of the file:

book = Book("Guns, Germs, and Steel", "The Fates of Human Societies", "Jared Diamond", "Norton")
print(book.get_title())
print(book.get_subtitle())
print(book.get_author())
print(book.get_publisher())
print(book)

You should see

Guns, Germs, and Steel
The Fates of Human Societies
Jared Diamond
Norton
Guns, Germs, and Steel: The Fates of Human Societies, Jared Diamond, Norton

Suggestions

Write this program in a step-by-step fashion using the technique of incremental development.

In other words, write a bit of code, test it, make whatever changes you need to get it working, and go on to the next step.

  1. Make a copy of your hw8.py file in your hw9 directory.
    Change the name of this file to hw9.py
    Remove all the test code from hw9.py
    Run the script.
    You should see nothing. Fix any problem you find.
  2. Change __init__ by adding the parameter publisher.
    Copy the first line of the test code to the bottom of your script.
    Run the script.
    You should see nothing. Fix any problem you find.
  3. Change __init__ and get_title so the attribute title is hidden.
    Copy the 2nd line of the test code to the bottom of your script.
    Run the script.
    Fix any problem you find.
  4. Change __init__ and get_subtitle so the attribute subtitle is hidden.
    Copy the 3rd line of the test code to the bottom of your script.
    Run the script.
    Fix any problem you find.
  5. Change __init__ and get_author so the attribute author is hidden.
    Copy the 4th line of the test code to the bottom of your script.
    Run the script.
    Fix any problem you find.
  6. Change __init__ so it sets the value of the attribute publisher.
    Create the method get_publisher that returns the value of this attribute.
    Copy the 5th line of the test code to the bottom of your script.
    Run the script.
    Fix any problem you find.
  7. Remove the method print_book.
    Replace it with the method __str__ which returns a string containing the values of each of the attributes.
    Copy the last line of the test code to the bottom of your script.
    Run the script.
    Fix any problem you find.

Testing on Your Machine

Copy the file to Unix

Make the File Executable

Copyright © 2021 Glenn Hoffman. All rights reserved. May not be reproduced without permission.