Hallo
In meinem Code wird die Variabel obstacles1 überschrieben obwohl das eigenlich nicht sein kann.
Nachdem xx=navigation.LueckeInX augerufen wurde hat sich der Wert von obstacles1 verändert.
Was mach ich falsch?
Die instanzierung der Klassen und übergabe der Karte und Navigation-Classe ist nötig weill ich jeweils ein eigenes Modul für Navigation.py und Karte.py habe
Python
class Plan():
def __init__(self,karte):
self.karte=karte
def getCourse(self,navigation):
obstacles1=self.karte.getObstacles()
#obstacles1=Hier noch [[-90,10],[-80,20]...
xx=navigation.LueckeInX(80,obstacles1)
#obstacles1=Jetz noch [[-90,0],[-80,0]...
return()
class Navigation():
def __init__(self):
pass
def LueckeInX(self, Dist,ScanList4):
ScanCopy=ScanList4[:]
LueckeList=[]
for i in range(len(ScanList4)):
if ScanList4[i][1]>Dist:
ScanCopy[i][1]=ScanList4[i][1]
else:
ScanCopy[i][1]=0
return()
if __name__ == "__main__":
Obstacles=[[-90,10],[-80,20],[-70,10],[-60,10],[-50,110],
[-40,130],[10,140],[20,10],[30,10],[40,110],[50,110],[60,110],[70,110]]
N=Navigation()
karte=Karte()
karte.updateObstacles(Obstacles)
navi=Navigation()
Plan=Plan(karte)
Plan.getCourse(navi)
Alles anzeigen