Calculate an energy bill from meter readings to display on a smart meter.

With the invention of the dynamo in 1861, electrical energy could be generated in large amounts. The first mass application of electricity was lighting. When this new product – electrical energy – started to be sold, it was obvious that the cost had to be determined. The earliest meter was Samual Gardiner’s (USA) lamphour meter patented in 1872. It measured the time during which energy was supplied to the load, as all the lamps connected to this meter were controlled by one switch. Subdividing lighting circuits became practical with the introduction of Edison’s light bulb, and this meter became obsolete.

Energy bill calculator

⭐⭐⭐

Make

Write a program that calculates the cost of energy from a previous and current meter reading. The kilowatt hours is the total units_used between the two readings multiplied by 1.022 multiplied by the calorific_value divided by 3.6. The cost in pounds sterling is 0.0284 multiplied by kilowatt hours.

Success Criteria

Remember to add a comment before a subprogram to explain its purpose.

Create a subprogram called energy_cost that:

  1. Takes three parameters: previous_meter_reading, current_meter_reading and calorific_value.
  2. Calculates the units used as current_meter_reading - previous_meter_reading.
  3. Calculates the kilowatt hours as units_used * 1.022 * (calorific_value / 3.6).
  4. Calculates the cost as 0.0284 * kilowatt hours
  5. Returns the cost as an integer.

Complete the main program so that:

  1. The user can input the previous meter reading as a four digit integer.
  2. The user can input the current meter reading as a four digit integer.
  3. The calorific value is set to be 39.3.
  4. The cost is calculated using the subprogram.
  5. The cost is output.

Typical inputs and outputs from the program would be:

Enter the previous meter reading: 2022
Enter the current meter reading rounded down: 2305
Cost is £ 89

Enter the previous meter reading: 7666
Enter the current meter reading rounded down: 8241
Cost is £ 182