Ineinander verschachtelte Funktionen
Verfasst: Mittwoch 14. November 2007, 09:37
Hallo
Ich bin neu bei Python und muss daher eine Anfängerfrage stellen, auf die ich leider nach über 2 Stunden suchen im Netz keine Antwort gefunden habe.
Ich möchte eine Funktion innerhalb einer anderen aufrufen und bekomme immer eine Fehlermeldung dabei. Das ganze soll sieht so aus
oder in richtigem code
wobei fitness und abstand grade die Funktionen sind um die es geht.
Fehlermeldung ist dann Folgende:
Kann mir wer helfen? Des weiteren wenn ich die Funktion abstand weiter unten, also nach fitness erst implementiere, kennt python die nicht. Gibts da so ne Möglichkeit wi in C++ den Methodenkopf am Anfang einer Klasse zu implementieren und die eigentliche Funktion erst später?
Einen netten Gruß
Jan[/code]
Ich bin neu bei Python und muss daher eine Anfängerfrage stellen, auf die ich leider nach über 2 Stunden suchen im Netz keine Antwort gefunden habe.
Ich möchte eine Funktion innerhalb einer anderen aufrufen und bekomme immer eine Fehlermeldung dabei. Das ganze soll sieht so aus
Code: Alles auswählen
def funktion1(param)
doSomething
def funktion2()
do Somethin
funktion1(3)
Code: Alles auswählen
def abstand(x1,x2,y1,y2):
s = sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
return s
def beschleunigung(y1,y2,s):
a = 9.81*(y1-y2)/s
return a
def zeit(v,a,s,y1,y2):
if y2 == y1:
t=s/v
else:
t=-v/a+((sqrt(v*v+2*a*s))/a)
return t
def geschwindigkeit(v,a,t):
vneu = v +a*t
return vneu
def fitness(xArray,yArray):
zeit = 0
for i in range(len(xArray)-1):
s = abstand(xArray[i],xArray[i+1],yArray[i],yArray[i+1])
print s
Fehlermeldung ist dann Folgende:
Code: Alles auswählen
Traceback (most recent call last):
File "/home/general/Uni/Eaza/rutsche.py", line 1, in <module>
class rutsche(object):
File "/home/general/Uni/Eaza/rutsche.py", line 44, in rutsche
fitness(xArray,yArray)
File "/home/general/Uni/Eaza/rutsche.py", line 39, in fitness
s = abstand(xArray[i],xArray[i+1],yArray[i],yArray[i+1])
NameError: global name 'abstand' is not defined
Einen netten Gruß
Jan[/code]