59 lines
1.7 KiB
Python
59 lines
1.7 KiB
Python
"""用于表示汽车的类"""
|
|
|
|
class Car:
|
|
"""模拟汽车尝试"""
|
|
def __init__(self, make, model, year):
|
|
self.make = make
|
|
self.model = model
|
|
self.year = year
|
|
self.odometer_reading = 0
|
|
|
|
def get_descriptive_name(self):
|
|
"""返回描述"""
|
|
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
|
|
return long_name
|
|
|
|
def read_odometer(self):
|
|
"""打印行驶里程"""
|
|
print("This car has " + str(self.odometer_reading) + " miles on it.")
|
|
|
|
def update_odometer(self, mileage):
|
|
"""
|
|
将里程数设为指定的值
|
|
拒绝回拨
|
|
"""
|
|
if mileage >= self.odometer_reading:
|
|
self.odometer_reading = mileage
|
|
else:
|
|
print("You can't roll back an odometer!")
|
|
|
|
def increment_odometer(self, miles):
|
|
"""将里程表读熟增加"""
|
|
self.odometer_reading += miles
|
|
|
|
class Battery():
|
|
"""模拟电车尝试"""
|
|
def __init__(self, battery_size=75):
|
|
self.battery_size = battery_size
|
|
|
|
def describe_battery(self):
|
|
print("This car has a " + str(self.battery_size) + " battery.")
|
|
|
|
def get_range(self):
|
|
if self.battery_size <= 80:
|
|
range = 300
|
|
elif self.battery_size > 85:
|
|
range = 400
|
|
|
|
message = "This car can go approximately " + str(range)
|
|
message += " miles on a full charge."
|
|
print(message)
|
|
|
|
class ElectricCar(Car):
|
|
"""模拟电动车"""
|
|
def __init__(self, make, model, year):
|
|
"""
|
|
初始化父类 再初始化电动车独有的属性
|
|
"""
|
|
super().__init__(make, model, year)
|
|
self.battery = Battery() |