编写一个自行车类Bicycle
,要求如下:
- 具有构造方法:初始化属性里程
km
,并赋值为0; - 设置成员方法用于骑行功能
run
,打印输出自行车骑行了 xxx km
;
编写一个电动自行车类EBicycle
,继承自行车类Bicycle
,要求如下:
- 具有构造方法:初始化属性电量
valume
; - 设置成员方法用于充电功能
fill_charge
,计算充电后的总电量,打印输出共有 xxx 度电
; - 设置成员方法用于骑行功能
run
,每骑行 10km 消耗电量 1 度,当电量耗尽时调用Bicycle
类的run()
方法,并如示例输出所示格式打印骑行结果。
在主程序中,预置了相关的测试代码,运行代码,输出示例所示内容。
示例输出
共有 11 度电
电动自行车骑行了 10 km
电动自行车骑行了 100 km
共有 6.0 度电
电动自行车骑行了 60.0 km
自行车骑行了 10.0 km
# 请在此处编写代码
class Bicycle:
def __init__(self):
self.km=0
def run(self,distance):
self.km+=distance
print(f'自行车骑行了{distance}km')
class EBicycle(Bicycle):
def __init__(self,valume):
super().__init__()
self.valume=valume
def fill_charge(self,charge):
self.valume+=charge
print(f'共有{self.valume}度电')
def run(self,distance):
if distance<=self.valume*10:
self.valume-=distance/10
print(f'电动自行车骑行了{distance}km')
else:
electric_distance=self.valume*10
print(f"电动自行车骑行了{electric_distance}km")
self.valume=0
super().run(distance-electric_distance)
if __name__=='__main__':
b= EBicycle(0) #创建一个电动自行车,默认电量0度
b.fill_charge(11) #充电11度
b.run(10) #骑行10km
b.run(100) #骑行100km
b.fill_charge(6.0) #充电6度
b.run(70) #骑行70km