Python 添加计数器语句以每1分钟打印一次值
我试图通过增加一个变量(t)来运行一个小方程,但每500次只打印一次结果。我正在使用一个计数器函数和余数来指示何时有一个整数值,然后打印。在这段代码中,它不打印任何内容。如果我将计数器设置为“计数器=计数器+5”,它将运行并递增x 5,但每次都会打印。你能看出哪里出了问题吗?你可以看到我评论了一些我正在尝试的东西。我认为解决办法是这样的,但我想不出来Python 添加计数器语句以每1分钟打印一次值,python,Python,我试图通过增加一个变量(t)来运行一个小方程,但每500次只打印一次结果。我正在使用一个计数器函数和余数来指示何时有一个整数值,然后打印。在这段代码中,它不打印任何内容。如果我将计数器设置为“计数器=计数器+5”,它将运行并递增x 5,但每次都会打印。你能看出哪里出了问题吗?你可以看到我评论了一些我正在尝试的东西。我认为解决办法是这样的,但我想不出来 t = 0 counter = 0 #mass rocket = 4390 #mass fuel at launch = mass= 13000
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
计数器=0
#质量火箭=4390
#发射时的质量燃料=
质量=13000
v=0
a=0
d=0
deltat=.001
#gd=gdisplay(x=0,y=0,宽=100,高=4000,title='v vs.t',xtitle='t',ytitle='v',前景=color.black,背景=color.white,xmax=70,xmin=0,ymax=4000,ymin=0)
而(t增量计数器:
counter += 1
然后像这样打印
if counter % 500 == 0:
print (counter)
我刚刚更新了我的问题-但让我试试你的建议-谢谢!在你的情况下,我需要定义“时间”还是导入它?我只是一个新手,只是想学习这个。我只想要一个简单的函数,用英语说“如果“t”是x的倍数的整数值,然后打印结果。”这里是示例输出,但它应该仅每500次打印一次。例如,5.0 0 0.001 0.01880018800188002 2.820028200282003e-05 10.0 0.002 0.03760056400940017 7.520103401598027e-05更新了我的答案。当Python递增t时,会出现浮点错误,例如,不完全是37.0,而是37.000000000000447。因此,请使用如图所示的计数器above.为了回答您更改后的问题,请在if语句上方放置“counter+=1”。只有当“counter=0”时,您才增加计数器然后计数器得到一个值1。然后它再也不会进入if语句进行更改…至于为什么它只打印一次。顺便说一句,如果您使用的是Python 3,print
是一个函数,所以在print
和括号之间不应该有空格。另一件事:您将mass
定义为13000,然后定义为硬代码1300。这不是你想要的吗?你的循环将每500次迭代输入你的if语句。每500次迭代,你的t变量增加500*0.001=0.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)
counter += 1
if counter % 500 == 0:
print (counter)