Please only do part b which is below part A. It is only creating a class for starship. I put part A down incase if it's confusing. In python. Part A: In this assignment, we’ll be creating several different classes to represent the crew of a spaceship as they encounter another hostile ship. We’ll start with a Crew class to represent a basic member of the spaceship crew - we’ll later use inheritance on this class to represent a variety of potential specializations that a crew member could have.   The Crew class should have the following methods to start: Constructor: The Crew class constructor should have the following signature:   __init__(self, name)   Where name (the name of the crew member) is a string. The constructor should create an instance variable to store the value of the argument (self.name), along with two more instance variables:    self.status, a string representing whether the crew member is currently Active or Injured.  This should be initialized to 'Active'. self.location, a string representing where the crew member is currently located on the spaceship.  This should be initialized to 'Sleep Pods'. __repr__(self) You must override the repr() method (similar to the str() method, except that it also changes what is output when you pass the object directly to the interpreter) so that it returns a string of the format below.    : , at   Be sure to match the spacing and format of the above string exactly or you will fail test cases and lose points (note that the angled brackets are not part of the string itself, but indicate where you should substitute in the actual title, name, status, and location of your the crew member). Note that changing __repr__ automatically changes the behavior of str() as well.  See the sample output below for an example. Examples: Copy the following if __name__ == "__main__" block into your hw12.py file, and comment out tests for parts of the class you haven’t implemented yet.  The lines that have output include the expected value next to them as a comment.   if __name__ == '__main__':     crew0 = Crew('Ava')     print(crew0.name) #Ava     print(crew0.status) #Active     print(crew0.location) #Sleep Pods     print(crew0) #Ava : Active, at Sleep Pods Problem B.  Starship Class(please do this part) Before we start looking at some of the more interesting methods for Crew and its subclasses, we need a class to represent the spaceship that the crew members are interacting with.  For now, we’ll just set up the constructor for the Starship class. Constructor: The Starship class constructor should have the following signature: __init__(self, name, crew_list) Where name (the name of the ship) is a string, and crew_list is a list of the Crew objects (or its subclasses) that make up the crew of the ship. The constructor should create instance variables to store the value of the arguments (self.name and self.crew_list respectively), along with one more instance variable:  self.damaged, a dictionary with string keys and boolean values representing whether each area of the ship is currently damaged.  This should be initialized to: {'Bridge':False, 'Medbay':False, 'Engine':False,  'Lasers':False, 'Sleep Pods':False}   Examples: Copy the following if __name__ == "__main__" block into your hw12.py file, and comment out tests for parts of the class you haven’t implemented yet.  The lines that have output include the expected value next to them as a comment: if __name__ == '__main__':     crew1 = Crew('Sakshi')     crew2 = Crew('Jina')     crew3 = Crew('Daniel')     space_boat = Starship('Ebon Hawk', [crew1, crew2, crew3])     print(space_boat.name) #Ebon Hawk     print(space_boat.crew_list) #[Sakshi : Active, at Sleep Pods, Jina : Active, at Sleep Pods, Daniel : Active, at Sleep Pods]     print(space_boat.damaged) #{'Bridge': False, 'Medbay': False, 'Engine': False, 'Lasers': False, 'Sleep Pods': False}

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%

Please only do part b which is below part A. It is only creating a class for starship. I put part A down incase if it's confusing. In python.

Part A: In this assignment, we’ll be creating several different classes to represent the crew of a spaceship as they encounter another hostile ship.

We’ll start with a Crew class to represent a basic member of the spaceship crew - we’ll later use inheritance on this class to represent a variety of potential specializations that a crew member could have.

 

The Crew class should have the following methods to start:



  • Constructor: The Crew class constructor should have the following signature:

 

__init__(self, name)

 

Where name (the name of the crew member) is a string. The constructor should create an instance variable to store the value of the argument (self.name), along with two more instance variables: 

 

  • self.status, a string representing whether the crew member is currently Active or Injured.  This should be initialized to 'Active'.
  • self.location, a string representing where the crew member is currently located on the spaceship.  This should be initialized to 'Sleep Pods'.





  • __repr__(self)

You must override the repr() method (similar to the str() method, except that it also changes what is output when you pass the object directly to the interpreter) so that it returns a string of the format below. 

 

<Name> : <Status>, at <Location>

 

Be sure to match the spacing and format of the above string exactly or you will fail test cases and lose points (note that the angled brackets are not part of the string itself, but indicate where you should substitute in the actual title, name, status, and location of your the crew member). Note that changing __repr__ automatically changes the behavior of str() as well.  See the sample output below for an example.




Examples:

Copy the following if __name__ == "__main__" block into your hw12.py file, and comment out tests for parts of the class you haven’t implemented yet.  The lines that have output include the expected value next to them as a comment.

 

if __name__ == '__main__':

    crew0 = Crew('Ava')

    print(crew0.name) #Ava

    print(crew0.status) #Active

    print(crew0.location) #Sleep Pods

    print(crew0) #Ava : Active, at Sleep Pods

Problem B.  Starship Class(please do this part)

Before we start looking at some of the more interesting methods for Crew and its subclasses, we need a class to represent the spaceship that the crew members are interacting with.  For now, we’ll just set up the constructor for the Starship class.

  • Constructor: The Starship class constructor should have the following signature:

__init__(self, name, crew_list)

Where name (the name of the ship) is a string, and crew_list is a list of the Crew objects (or its subclasses) that make up the crew of the ship. The constructor should create instance variables to store the value of the arguments (self.name and self.crew_list respectively), along with one more instance variable: 

  • self.damaged, a dictionary with string keys and boolean values representing whether each area of the ship is currently damaged.  This should be initialized to:

{'Bridge':False, 'Medbay':False, 'Engine':False,

 'Lasers':False, 'Sleep Pods':False}

 

Examples:

Copy the following if __name__ == "__main__" block into your hw12.py file, and comment out tests for parts of the class you haven’t implemented yet.  The lines that have output include the expected value next to them as a comment:

if __name__ == '__main__':

    crew1 = Crew('Sakshi')

    crew2 = Crew('Jina')

    crew3 = Crew('Daniel')

    space_boat = Starship('Ebon Hawk', [crew1, crew2, crew3])

    print(space_boat.name) #Ebon Hawk

    print(space_boat.crew_list) #[Sakshi : Active, at Sleep Pods, Jina : Active, at Sleep Pods, Daniel : Active, at Sleep Pods]

    print(space_boat.damaged) #{'Bridge': False, 'Medbay': False, 'Engine': False, 'Lasers': False, 'Sleep Pods': False}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 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
  • 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