Ich versuche, eine kleine Gleichung durch Inkrementieren einer Variablen (t) zu erstellen, aber drucke die Ergebnisse nur alle 500 Mal. Ich verwende eine Zählerfunktion und Rest, um anzuzeigen, wenn ich eine ganze Ganzzahl für den Wert habe und dann drucken. In diesem Code wird nichts gedruckt. Wenn ich den Zähler auf "counter = counter + 5" setze, wird er ausgeführt und um 5 erhöht, aber jedes Mal gedruckt. Kannst du sehen, was falsch ist? Sie können sehen, dass ich einige Dinge kommentiert habe, die ich versucht habe. Ich denke, die Lösung ist so etwas, aber ich kann es nicht herausfinden!Hinzufügen einer Zähleranweisung, um Werte alle 1 Minute zu drucken
t = 0
counter = 0
#mass rocket = 4390
#mass fuel at launch =
mass= 13000
v = 0
a = 0
d = 0
deltat=.001
#gd = gdisplay(x=0, y=0, width=100, height=4000, title='v vs. t', xtitle='t', ytitle='v',foreground=color.black, background=color.white, xmax=70, xmin=0, ymax=4000, ymin=0)
while (t<=65):
t = t + deltat
mass = 13000 - (130*t)
v = v + ((1880*(130*deltat))/(mass))
a = ((1880/(mass))*((130*deltat)/(deltat)))
d = d + ((v*deltat)+((.5)*a*(deltat*deltat)))
#counter += .001
counter = counter + t
#counter%5==0
if counter %5 == 0:
print (counter)
print (t)
print (v)
#print a
print (d)
Ich habe das versucht und es läuft nicht. Keine Fehler, es tut einfach nichts.
t = 0
counter = 0
#mass rocket = 4390
#mass fuel at launch =
mass= 13000
v = 0
a = 0
d = 0
deltat=.001
#gd = gdisplay(x=0, y=0, width=100, height=4000, title='v vs. t', xtitle='t', ytitle='v',foreground=color.black, background=color.white, xmax=70, xmin=0, ymax=4000, ymin=0)
while (t<=65):
t = t + deltat
mass = 13000 - (130*t)
v = v + ((1880*(130*deltat))/(mass))
a = ((1880/(mass))*((130*deltat)/(deltat)))
d = d + ((v*deltat)+((.5)*a*(deltat*deltat)))
#counter = counter + 5.0
if t % 1.0 == 0:
#print (counter)
print (t)
print (v)
print (d)
Jeepers- Entschuldigung, ich bin so bescheuert. Ich müde dies und es läuft nur einmal:
t = 0
counter = 0
#mass rocket = 4390
#mass fuel at launch =
#mass= 13000
v = 0
a = 0
d = 0
deltat=.001
#gd = gdisplay(x=0, y=0, width=100, height=4000, title='v vs. t', xtitle='t', ytitle='v',foreground=color.black, background=color.white, xmax=70, xmin=0, ymax=4000, ymin=0)
while (t<=65):
t = t + deltat
mass = 13000 - (130*t)
v = v + ((1880*(130*deltat))/(mass))
a = ((1880/(mass))*((130*deltat)/(deltat)))
d = d + ((v*deltat)+((.5)*a*(deltat*deltat)))
#counter += 1
if counter % 500 == 0:
print (counter)
print(t)
print(v)
print(d)
counter += 1
Wenn ich den Zähler über dem if-Anweisung erhöhen, wird es durch .5s t erhöht wird und nicht .001, und Erhöhen Zählung x 500. Ich bin verwirrt.
t = 0
counter = 0
#mass rocket = 4390
#mass fuel at launch =
#mass= 13000
v = 0
a = 0
d = 0
deltat=.001
#gd = gdisplay(x=0, y=0, width=100, height=4000, title='v vs. t', xtitle='t', ytitle='v',foreground=color.black, background=color.white, xmax=70, xmin=0, ymax=4000, ymin=0)
while (t<=65):
t = t + deltat
mass = 13000 - (130*t)
v = v + ((1880*(130*deltat))/(mass))
a = ((1880/(mass))*((130*deltat)/(deltat)))
d = d + ((v*deltat)+((.5)*a*(deltat*deltat)))
counter += 1
if counter % 500 == 0:
print (counter)
print(t)
print(v)
print(d)
By the way, wenn Sie Python verwenden 3, 'print' ist eine Funktion, so dass es shouldn‘ t sei ein Leerzeichen zwischen 'print' und den Klammern. Eine andere Sache: Sie definieren "Masse" als 13000, aber dann Code 1300 am Anfang Ihrer Schleife. – Jakub
Ist das nicht was du wolltest? Ihre Schleife wird Ihre if-Anweisung alle 500 Iterationen eingeben. Alle 500 Iterationen hat Ihre t-Variable 500 * 0,001 = 0,500 erhöht. –
Ja- Sie sind richtig und ich denke, es funktioniert. Ich danke dir sehr!! – ericbikes