函数中的python变量未更新

函数中的python变量未更新,python,class,oop,methods,Python,Class,Oop,Methods,我用python制作了这辆车,但当我使用继续驾驶方法时,似乎燃油油位未更新找不到错误 我想做的主要是计算油箱中的汽油是否足够,如果不给油箱加油的话,是否不适合乘坐 你可以看到,当我运行这个代码时,它说我们还需要3.15升,但应该是8.3/2-(1+2)=2.15,你没有跟踪行驶的距离。 您正试图根据您消耗的燃油和每公里升数计算您的剩余距离 Car is moving 1 kilometres 2 kilometres 3 kilometres 4 kilometres 5 kilometres

我用python制作了这辆车,但当我使用
继续驾驶
方法时,似乎
燃油油位
未更新找不到错误

我想做的主要是计算油箱中的汽油是否足够,如果不给油箱加油的话,是否不适合乘坐


你可以看到,当我运行这个代码时,它说我们还需要3.15升,但应该是8.3/2-(1+2)=2.15,你没有跟踪行驶的距离。

您正试图根据您消耗的燃油和每公里升数计算您的剩余距离

Car is moving
1 kilometres
2 kilometres
3 kilometres
4 kilometres
5 kilometres
6 kilometres
7 kilometres
8 kilometres
9 kilometres
10 kilometres
11 kilometres
12 kilometres
13 kilometres
14 kilometres
15 kilometres
16 kilometres
17 kilometres
18 kilometres
19 kilometres
20 kilometres
21 kilometres
22 kilometres
23 kilometres
24 kilometres
Out of Gas
Added fuel 1 leters 
Need 3.15 leter more
在使用代码计算
左侧距离之前,您的代码正在增加自身燃油油位

distance_left = self.kilometer - self.fuel_level / self.perkilometer
我建议你追踪旅行的距离

my_car.add_fuel(1)   # Increased self.fuel_level
my_car.continue_driving()  # Use self.fuel_level to determine distance_left
然后每次旅行时增加它

def __init__(self,make,model,year,fuel_capacity,perkilometer):
    self.make = make
    self.model = model
    self.year = year
    self.fuel_capacity = fuel_capacity
    self.perkilometer = perkilometer

    self.fuel_level = 0
    self.distance_traveled = 0

leters_needed不考虑当前燃油量。总共需要3.15,这就是它打印的内容。您需要从中减去当前的燃油量,以获得需要的燃油量。当汽油用完时,您将self.fuel\u level设置为0。然后你加了1升。然后计算出左边的距离为50-1/0.083~=38。然后计算出38*0.083=3.154所需的升数。请参阅我的答案以了解更多详细信息和解决方案。
def __init__(self,make,model,year,fuel_capacity,perkilometer):
    self.make = make
    self.model = model
    self.year = year
    self.fuel_capacity = fuel_capacity
    self.perkilometer = perkilometer

    self.fuel_level = 0
    self.distance_traveled = 0
if self.fuel_level >= self.perkilometer:
    self.fuel_level -= self.perkilometer
    self.distance_traveled += 1
    print '%s kilometres' % self.distance_traveled