我有车的名单以及他们在米里程(我得到的数据的从游戏API,但我会用一个函数例子,而不是在这里。)因此,每一辆汽车有一个开始=假的开头和有一个函数,将返回如果他们开始并行驶超过 1 米。
metersdriven = 0
started = False
def getCarState(id):
if id == 1:
return 290
if id == 2:
return 0
if id == 3:
return 1200
def init(driver):
global metersdriven, started
metersdriven = getCarState(driver)
if not started:
if metersdriven > 1:
started = True
return metersdriven
else:
return 'Not started'
else:
return 'Not started'
这就是代码,这就是我的意思:
fd = init(1)
sd = init(2)
td = init(3)
>>> print(fd)
290
>>> print(sd)
'Not started'
正如您在上面看到的,我们还没有遇到问题,但是现在出现了问题
>>> print(td)
'Not started'
我们实际上想检查第三辆车,但它返回“未启动”,这不是真的,它实际上已经行驶了 1200 米。
我可以理解这是由于我们最初打电话检查第一辆车并因此将开始设置为 True 引起的。如果我们一开始叫第三辆车,它会返回1200米,反之亦然。
那么我该如何解决这个问题呢?如何让每辆车都有自己的布尔值?我需要使用类吗?
POPMUISE
繁星点点滴滴
相关分类