2017-08-28 73 views
-2

我必须创建一个具有以下特征的汽车类:在python中创建汽车类

它具有gas_level属性。

它有一个构造函数(init方法),它采用一个浮点数表示初始气体水平并将汽车的气体水平设置为该值。

它有一个add_gas方法,它接受一个浮点值并将该值添加到gas_level属性的当前值。

它有一个fill_up方法,通过添加达到此级别所需的气体量,将汽车的气体水平设置为13.0。它将返回必须添加到汽车中的气体量以使气体水平达到13.0。但是,如果车上的汽油水平大于或等于13.0,首先,那么它不需要添加任何东西,它只是返回一个0

的结果应该是:

example_car = Car(9) 
print(example_car.fill_up()) # should print 4 

another_car = Car(18) 
print(another_car.fill_up()) # should print 0 

这是迄今为止我所拥有的。只是陷入了add_gas和fill_up方法。

class Car: 
    def __init__(self, gas_level_x): 
     self.x = gas_level_x 
    def add_gas(self): 
     return ((self.x + 

    def fill_up(self): 
     return 

def main(): 
    ex_car = Car(9) 
    print(ex_car.fill_up())    

if __name__ == "__main__": 
    main()   
+0

,看起来像一门功课转储...无论如何,如果你不知道怎么写它在python中,你可以用简单的英文写作算法作为你的代码中的注释,并且你将更有可能得到一些帮助。 –

+0

@GillesGouaillardet你认为这是对的吗? – EnzoRad

+1

您是否运行过程序并成功通过了两次测试? –

回答

-1
class Car: 

    def __init__(self, init_g): 
    self.g = init_g 
    def add_gas(gas): 
    self.g = self.g + gas 

    def fill_up(self): 
    if self.g < 13: 
     return 13 - self.g 
    else: 
     return 0 
+0

fwiw,'fill_up'是错的... –

+0

它通过了所有测试@GillesGouaillardet – EnzoRad

+0

所以你需要写一些更多的测试,比如检查'fill_up()'后的油箱值' –

0

如果我的理解对不对所有你想要的是什么? 如果坦克低于13,你将坦克装满,直到13,并返回附加值。 否则返回0

class Car: 
    def __init__(self, gas_level_x): 
     self.x = gas_level_x 

    def add_gas(self, gas): 
     self.x += gas 

    def fill_up(self): 
     added = 13-self.x 
     self.x += added # Or call self.add_gas(added) if for some reason you want to use the method 
     if added > 0: 
      return added 
     return 0 

编辑:并测试你的要求,我碰到:

car = Car(9) 
print(car.fill_up()) # Prints 4 

car = Car(18) 
print(car.fill_up()) # Prints 0 
+0

但是这个基本上是一样的答案EnzoRad给了...所以如果那不是你要找的东西,你将不得不更多地指定你的问题。 **编辑:**对啊,你需要添加量self.x确实这就是我们忘了,但很容易做我会编辑我的答案 –