汽车级Python程序
这是我的密码。我不断地得到一个名称错误作为我的结果。我应该如何解决这个问题 汽车等级 节目汽车级Python程序,python,python-3.6,Python,Python 3.6,这是我的密码。我不断地得到一个名称错误作为我的结果。我应该如何解决这个问题 汽车等级 节目 您的代码有几个问题: 您尚未创建实例:mycar=Caryear、make、speed 你把我的车改名为我的车 该类属性称为self.\u speed,而不是self.speed.accelerate、brake和get\u speed方法 此代码应适用于您: def makeCarClass(): def initialize(self, model, color, currSpeed, max
您的代码有几个问题: 您尚未创建实例:mycar=Caryear、make、speed 你把我的车改名为我的车 该类属性称为self.\u speed,而不是self.speed.accelerate、brake和get\u speed方法
此代码应适用于您:
def makeCarClass():
def initialize(self, model, color, currSpeed, maxSpeed, mpg, currFuel, mileage):
self["model"] = model
self["color"] = color
self["currSpeed"] = currSpeed
self["maxSpeed"] = maxSpeed
self["mpg"] = mpg
self["currFuel"] = currFuel
self["mileage"] = mileage
return self
def changeSpeed(self, amount):
newSpeed = self["currSpeed"] + amount
if newSpeed >= self["maxSpeed"]:
self["currSpeed"] = self["maxSpeed"]
elif newSpeed <=0:
self["currSpeed"] = 0
else:
self["currSpeed"] = newSpeed
def move(self, miles):
fuelNeeded = miles/self["mpg"]
currFuel = self["currFuel"]
if currFuel <= fuelNeeded:
self["currFuel"] = 0
self["mileage"] = self["mileage"] + currFuel * self["mpg"]
print("Warning: Your car has run out of fuel")
else:
self["currFuel"] = currFuel - fuelNeeded
self["mileage"] = self["mileage"] + miles
return {"initialize":initialize, "changeSpeed":changeSpeed, "move":move}
carClass = makeCarClass()
car1 = carClass["initialize"]({},"Ferrari", "yellow", 0, 200, 10, 40, 0)
car2 = carClass["initialize"]({},"Honda", "black", 0, 120, 30, 40, 0)
print(car1)
等级车:
def __init__(self,year,make):
self.__year_model=year
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
新文件
进口汽车
def主:
我的车=汽车。汽车2019,丰田
for i in range(5):
my_car.accelerate()
print("Speed = ",my_car.get_speed())
for i in range(5):
my_car.brake()
print("Speed = ",my_car.get_speed())
main为什么使用前导双下划线?我不知道。下划线就是这样显示的。你能解释一下你提供的答案吗?你创建这个类的第一部分代码。然后,您需要启动一个新的python文件并导入您的文件。我的档案叫做汽车。然后使用for循环调用speed和break,每次调用5次。希望有帮助
def makeCarClass():
def initialize(self, model, color, currSpeed, maxSpeed, mpg, currFuel, mileage):
self["model"] = model
self["color"] = color
self["currSpeed"] = currSpeed
self["maxSpeed"] = maxSpeed
self["mpg"] = mpg
self["currFuel"] = currFuel
self["mileage"] = mileage
return self
def changeSpeed(self, amount):
newSpeed = self["currSpeed"] + amount
if newSpeed >= self["maxSpeed"]:
self["currSpeed"] = self["maxSpeed"]
elif newSpeed <=0:
self["currSpeed"] = 0
else:
self["currSpeed"] = newSpeed
def move(self, miles):
fuelNeeded = miles/self["mpg"]
currFuel = self["currFuel"]
if currFuel <= fuelNeeded:
self["currFuel"] = 0
self["mileage"] = self["mileage"] + currFuel * self["mpg"]
print("Warning: Your car has run out of fuel")
else:
self["currFuel"] = currFuel - fuelNeeded
self["mileage"] = self["mileage"] + miles
return {"initialize":initialize, "changeSpeed":changeSpeed, "move":move}
carClass = makeCarClass()
car1 = carClass["initialize"]({},"Ferrari", "yellow", 0, 200, 10, 40, 0)
car2 = carClass["initialize"]({},"Honda", "black", 0, 120, 30, 40, 0)
print(car1)
def __init__(self,year,make):
self.__year_model=year
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
for i in range(5):
my_car.accelerate()
print("Speed = ",my_car.get_speed())
for i in range(5):
my_car.brake()
print("Speed = ",my_car.get_speed())