编写一个电表类,可以实现如下功能 set方法设置最新的电表读数 query方法显示电表ID,电表户主姓名,上次电表读数、本次电表读数,本次用电数,假设每度电的价格为0.5元,计算并显示本次电费
时间: 2024-11-25 18:11:42 浏览: 15
好的,我们可以创建一个`ElectricMeter`类来实现这个需求。以下是基本的Python实现:
```python
class ElectricMeter:
def __init__(self, meter_id, owner_name, initial_reading=0):
self.meter_id = meter_id
self.owner_name = owner_name
self.reading = initial_reading
self.price_per_kwh = 0.5
# 设置电表读数
def set_reading(self, new_reading):
self.reading = new_reading
# 显示电表信息
def query(self):
current_reading = self.reading
usage = current_reading - self.initial_reading # 假设初始读数是最后一次记录
electricity_cost = usage * self.price_per_kwh
print(f"电表ID: {self.meter_id}")
print(f"户主姓名: {self.owner_name}")
print(f"上次电表读数: {self.initial_reading}")
print(f"本次电表读数: {current_reading}")
print(f"本次用电数: {usage} kWh")
print(f"本次电费: {electricity_cost} 元")
# 示例用法
meter = ElectricMeter('EM001', '张三')
meter.set_reading(1234)
meter.query()
```
在这个类中,我们定义了电表的ID、户主姓名、初始读数以及电价。`set_reading`方法用于更新电表读数,而`query`方法则会根据当前读数和初始读数计算出电量消耗,并据此计算电费。请注意,这里假设每次调用`query`方法前都会先调用`set_reading`更新当前读数。实际应用中,可能需要一个列表或其他数据结构来保存历史读数以便计算累计电量。
阅读全文