1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python面对对象编程写一个程序有一个汽车_汽车类面向对象编程Python

python面对对象编程写一个程序有一个汽车_汽车类面向对象编程Python

时间:2022-04-09 08:00:23

相关推荐

python面对对象编程写一个程序有一个汽车_汽车类面向对象编程Python

我正在定义一个名为“car”的类,我将它与一个在我的类上运行一系列测试的文档进行比较。然而,我在驱动法中得到了错误的答案,我不知道为什么。在

这是我的密码。驱动方法应该以汽车为参数,将其移动指定的英里数。如果汽车能在不耗尽燃料的情况下跑完所有的英里数,那么汽车就开始旅行并输出英里数,同时还会增加里程表。{0}不过,如果它还没开到油箱里,那它就不能开很久了。在

如果给出了任何无效的参数,那么这辆车就不能开了。每次在汽车测试程序中测试9时,它都会中断。因此,所有后续的都会破裂。下面我已经发布了我的代码,然后代码测试出来。在

你能帮我吗?我很感激#Define the class

class Car(object):

def __init__(self,fuelEfficiency=0,fuelCapacity=0,fuelLevel=0,odometer=0):

self.setCar(fuelEfficiency,fuelCapacity,fuelLevel,odometer)

def setFuelEfficiency(self,newFuelEfficiency):

self.setCar(fuelEfficiency = newFuelEfficiency)

def setFuelCapacity(self,newFuelCapacity):

self.setCar(fuelCapactity = newFuelCapacity)

def setFuelLevel(self,newFuelLevel):

self.setCar(fuelLevel = newFuelLevel)

def setOdometer(self,newOdometer):

self.setCar(odometer = newOdometer)

def setCar(self,fuelEfficiency = None,fuelCapacity = None,fuelLevel = None,odometer = None):

if fuelEfficiency == None:

fuelEfficiency = self.getFuelEfficiency

if fuelCapacity == None:

fuelCapacity = self.getFuelCapacity

if fuelLevel == None:

fuelLevel = self.getFuelLevel

if odometer == None:

odometer = self.getOdometer

self.fuelEfficiency = fuelEfficiency

self.fuelCapacity = fuelCapacity

self.fuelLevel = fuelLevel

self.odometer = odometer

def drive(self,miles):

if miles < 0:

return ("The car is not driven")

one_gallon = miles / self.fuelEfficiency

if one_gallon < self.fuelLevel:

print("The car drove {} miles".format(miles))

elif self.fuelLevel == 0:

print("The car drove 0 miles")

#else:

#newMiles = milesDriven * miles

#print("The car drove {} miles".format(newMiles))

self.fuelLevel -= one_gallon

self.odometer += miles

def getCar(self):

#Returns a tuple that has (FE,FC,FL,OD)

return (self.fuelEfficiency,self.fuelCapacity,self.fuelLevel,self.odometer)

def addFuel(self,num):

if type(num) == str:

return self.fuelLevel

if num < 0:

print("Sorry, you need to enter a postive number.")

return self.fuelLevel

if (self.fuelLevel + num) > self.fuelCapacity:

return self.getFuelLevel

if (self.fuelLevel + num) == self.fuelCapacity:

self.fuelLevel += num

return self.getFuelLevel

if (self.fuelLevel + num) < self.fuelCapacity:

self.fuelLevel += num

return self.getFuelLevel

def getFuelEfficiency(self):

return self.getCar()[0]

def getFuelCapacity(self):

return self.getCar()[1]

def getFuelLevel(self):

return self.getCar()[2]

def getOdometer(self):

return self.getCar()[3]

def tripRange(self):

numOfMiles = self.fuelEfficiency * self.fuelLevel

return numOfMiles

def __str__(self):

FE = self.getFuelEfficiency()

FC = self.getFuelCapacity()

FL = self.getFuelLevel()

OD = self.getOdometer()

string = '{}:{}:{}:{}'.format(FE,FC,FL,OD)

return string

这里有一个测试程序,如果类正常工作,它将与测试一起进行。如果一切都是固定的,输出将是“没有发现错误”

^{pr2}$

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。