在python中创建一个Car类

时间:2017-08-28 01:18:22

标签: python object constructor attributes initializer

我必须创建一个具有以下特征的Car类:

它有一个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()        

2 个答案:

答案 0 :(得分: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

答案 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