2017-01-10 2 views
0

Я пытаюсь запустить небольшое уравнение, увеличивая одну переменную (t), но только распечатывая результаты каждые 500 раз. Я использую функцию счетчика и остаток, чтобы указать, когда у меня есть целое число для значения и затем печать. В этом коде он ничего не печатает. Если я установил счетчик на «counter = counter + 5», он будет работать и увеличивать x 5, но печатать каждый раз. Вы видите, что не так? Вы можете видеть, что я прокомментировал некоторые вещи, которые я пытался. Я думаю, что это что-то вроде этого, но я не могу понять это!Добавление счетчика для печати значений каждые 1 минута

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) 

Я пробовал это, и он не запускается. Нет ошибок, это просто ничего не делает.

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 - извините, я так глуп. Я устал это, и он просто работает один раз:

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 

Если я увеличиваю счетчик выше, если заявления, это увеличивающееся т по .5s и не +0,001, и увеличивающееся количество х 500. Я запутался.

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) 
+0

Кстати, если вы используете Python 3, 'print' является функцией, так что не должен» t - пробел между 'print' и круглыми скобками. Другое дело: вы определяете 'mass' как 13000, а затем hard-code 1300 в начале вашего цикла. – Jakub

+0

Разве это не то, что вы хотели? Ваша петля будет вводить ваш оператор if каждые 500 итераций. Каждые 500 итераций ваша переменная t увеличилась на 500 * 0,001 = 0,500. –

+0

Да, вы правы, и я думаю, что он работает. Огромное спасибо!! – ericbikes

ответ

0

увеличиваем счетчик как таковой:

counter += 1 

и печати, как этот

if counter % 500 == 0: 
    print (counter) 
+0

Я только что обновил свой вопрос, но позвольте мне попробовать ваше предложение - спасибо! – ericbikes

+0

В вашем случае мне нужно определить «время» или импортировать его? Я начинаю просто пытаюсь это изучить. Мне просто нужна простая функция, которая говорит по-английски: «Если« t »- целочисленное значение в кратных x, затем распечатайте результаты». Вот пример вывода, но он должен печатать только каждые 500 раз. – ericbikes

+0

5,0 0,001 0,01880018800188002 2.820028200282003e-05 10,0 0,002 0,03760056400940017 7.520103401598027e-05 – ericbikes

Смежные вопросы