Apr 13, 2025 | 261 words | 3 min read
11.2.3. Rockets#
Instructions#
Write a class named Rocket
that has attributes named name
,
booster_cost
, upper_stage_cost
, and fuel_cost
,
and has a method named cost_per_launch
. All of the class’s
attributes should be set during instantiation. The cost_per_launch
method should calculate the cost of a launch as the sum of the
booster_cost
, the upper_stage_cost
, and the
fuel_cost
, and then print out the cost to launch the rocket.
Next, write a ReusableRocket
class that inherits from Rocket
.
This class should have all the same attributes as Rocket
plus an
attribute named uses
that represents the number of times the rocket’s
booster stage can be used. The ReusableRocket
class should override
the inherited cost_per_launch
method such that it calculates the
launch cost as the booster_cost
divided by uses
, plus the
upper_stage_cost
, plus the fuel_cost
.
In the main
function of your program, create the five rockets listed
in Table 11.4. The first four rockets should be instances of
Rocket
, but the fifth one should be an instance of
ReusableRocket
. Then call the cost_per_launch
method on
each of them.
Sample Output#
Ensure your program’s output matches the provided samples exactly. This includes all characters, white space, and punctuation. In the samples, user input is highlighted like this for clarity, but your program should not highlight user input in this way.
Sample Output
$ python3 rockets_login.py This Atlas V cost $108.23 million per launch. This Ariane 5 cost $139.79 million per launch. This Long March 3B cost $49.88 million per launch. This Soyuz 2 cost $35.04 million per launch. This Falcon 9 cost $20.92 million per launch.
Deliverables#
Save your finished program as rockets_login.py
, replacing
login
with your Purdue login. Then submit it along with all the
deliverables listed in Table 11.5
below.
Deliverable |
Description |
---|---|
|
Your finished program. |
Screenshot(s) |
PNG(s) capturing the test case. |