我正在尝试为汽车编写一个类,但我没有得到正确的输出。每次调用时,制动数据应从速度数据属性中减去 5。
我尝试了下面的代码,制动的预期输出应该是
刹车0:20,刹车1:15,刹车2:10,刹车3:5,刹车4:0
class Car:
def __init__(self,__year_model, __make):
self.__year_model = __year_model
self.__make = __make
self.__speed = 0
def accelerate(self):
self.__speed += 5
def brake(self):
self.__speed = -=5
def get_speed(self):
return self.__speed
from car import Car
my_car = Car("Corvette", 2022)
for a in range(0,5):
b = my_car.accelerate()
speed = my_car.get_speed()
print(f"accelerate {a}: {speed}")
print()
for x in range(0,5):
ac = my_car.brake()
speed = my_car.get_speed()
print(f"brake {x}: {speed}")
output:
accelerate 0: 5
accelerate 1: 10
accelerate 2: 15
accelerate 3: 20
accelerate 4: 25
brake 0: -5
brake 1: -5
brake 2: -5
brake 3: -5
brake 4: -5
您的代码中有一个拼写错误
self.speed = -=5
;我已将其修改为 self.speed += -5
(您也可以将其写为 self.speed -= 5
)。
class Car:
def __init__(self, year_model, make):
self.year_model = year_model
self.make = make
self.speed = 0
def accelerate(self):
self.speed += 5
def brake(self):
self.speed += -5
def get_speed(self):
return self.speed
my_car = Car("Corvette", 2022)
for a in range(0,5):
b = my_car.accelerate()
speed = my_car.get_speed()
print(f"accelerate {a}: {speed}")
## result
# accelerate 0: 5
# accelerate 1: 10
# accelerate 2: 15
# accelerate 3: 20
# accelerate 4: 25
for x in range(0,5):
ac = my_car.brake()
speed = my_car.get_speed()
print(f"brake {x}: {speed}")
## result
# brake 0: 20
# brake 1: 15
# brake 2: 10
# brake 3: 5
# brake 4: 0