parameterwerte aktualisieren.. ich brauch hilfe....
Verfasst: Mittwoch 18. Januar 2006, 10:11
Guten Morgen,
Ich habe ein Programm für physik geschrieben und hab ein problem.
Den ersten Schleifendurchgang macht er noch wie gewünscht, aber dann nimmt er nicht die neuen berechneten werte für Hoehe, Zeit usw. sondern die alten. Wie kann ich ihn dazu bringen die neuen zu nehmen?
Und bitte keine rekursionen vorschlagen!
#Hoehe=liste[0],Zeit=liste[1],v=liste[2],a=liste[3],rho=liste[4],g=liste[5] klappt nicht weil er dann meckert: TypeError: unpack non-sequence
Ich hoffe ihr könnt mir helfen!
Regards,
Edistar
Ich habe ein Programm für physik geschrieben und hab ein problem.
Den ersten Schleifendurchgang macht er noch wie gewünscht, aber dann nimmt er nicht die neuen berechneten werte für Hoehe, Zeit usw. sondern die alten. Wie kann ich ihn dazu bringen die neuen zu nehmen?
Und bitte keine rekursionen vorschlagen!
#Hoehe=liste[0],Zeit=liste[1],v=liste[2],a=liste[3],rho=liste[4],g=liste[5] klappt nicht weil er dann meckert: TypeError: unpack non-sequence
Ich hoffe ihr könnt mir helfen!
Regards,
Edistar
Code: Alles auswählen
def rechnungen(rho0,Hoehe,gamma,mErde,rErde,cw,A,m,v,deltaT,Zeit):
rho=rho0*(10**(-Hoehe/8000))
g=gamma*(mErde/((Hoehe+rErde)**2))
a=g-((.5*cw*A*rho)/m)*v**2
v=a*deltaT
s=v*deltaT
Hoehe-=s
Zeit+=deltaT
return Hoehe, Zeit, v, a, rho, g
def main():
deltaT=.1 #Zeitintervall
cw=0.9 #Luftwiderstandsbeiwert
A=.5 #Oberflaeche
m=70 #Masse des Fallschirmspringers
rho0=1013.25 #Luftdichte auf Meereshoehe
mErde=5.9736*(10**24) #Masse der Erde
rErde=6378.1 #Radius der Erde
gamma=6.6742*(10**(-11)) #Gravitationskonstante
v=0 #Geschwindigkeit beim Absprung
Hoehe=40000 #Hoehe am Anfang
Zeit=0 #Gefallene Zeit, am Anfang
while (Hoehe >0):
liste=rechnungen(rho0,Hoehe,gamma,mErde,rErde,cw,A,m,v,deltaT,Zeit)
#Hoehe=liste[0],Zeit=liste[1],v=liste[2],a=liste[3],rho=liste[4],g=liste[5]
print liste
save(liste)
def save(liste):
speicherdatei=open('data/gespeichert.txt','a')
for i in range (0,len(liste)):
wert=str(liste[i])+'\t'
speicherdatei.write(wert)
speicherdatei.write('\n')
speicherdatei.close()
main()