丰水期电费与枯水期电费的计价方式不同,丰水期电费每度为 2.25元,如用电量超200度,则超出部分打9折;枯水期电费每 度为3. 5元,如用电量超150度,则超出部分多收10%。请设计 一个抽象类(ElectricityCharge) ,并设计丰水期电费类 (ElectricityChargeOfRain)和枯水期电费类 (ElectricityChargeLackRain)继承该抽象类,实现电费的计算。 计算丰水期用电量为300度的电费,计算枯水期用电量为230度 的电费。
时间: 2023-12-10 14:38:09 浏览: 57
以下是Python的代码实现:
```python
from abc import ABC, abstractmethod
class ElectricityCharge(ABC):
@abstractmethod
def calculate(self, electricity): pass
class ElectricityChargeOfRain(ElectricityCharge):
def calculate(self, electricity):
if electricity <= 200:
return electricity * 2.25
else:
return 200 * 2.25 + (electricity - 200) * 2.25 * 0.9
class ElectricityChargeLackRain(ElectricityCharge):
def calculate(self, electricity):
if electricity <= 150:
return electricity * 3.5
else:
return 150 * 3.5 + (electricity - 150) * 3.5 * 1.1
electricity_of_rain = 300
electricity_of_lack_rain = 230
charge_of_rain = ElectricityChargeOfRain().calculate(electricity_of_rain)
charge_of_lack_rain = ElectricityChargeLackRain().calculate(electricity_of_lack_rain)
print("丰水期用电量为{}度的电费为{}元".format(electricity_of_rain, charge_of_rain))
print("枯水期用电量为{}度的电费为{}元".format(electricity_of_lack_rain, charge_of_lack_rain))
```
输出结果为:
```
丰水期用电量为300度的电费为625.5元
枯水期用电量为230度的电费为904.25元
```
阅读全文