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.

cost per launch=booster cost+upper stage cost+fuel cost

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.

reusable cost per launch=booster costuses+upper stage cost+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.

Table 11.4 Fictional data for real rockets. Note cost is in millions of dollars.#

Name

Booster Cost

Upper stage Cost

Fuel Cost

Uses

Atlas V

65.4

42.6

0.23

NA

Ariane 5

83.5

55.6

0.69

NA

Long March 3B

28.5

19.0

2.38

NA

Soyuz 2

20.9

13.9

0.24

NA

Falcon 9

43.0

18.6

0.45

23[1]

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.

Table 11.5 Deliverables#

Deliverable

Description

rockets_login.py

Your finished program.

Screenshot(s)

PNG(s) capturing the test case.