我在数学方面总是垃圾,而且它试图弄清楚这一点。我试图以不同的速度发生两件事。我希望有两种速度,无论比例是来自1 - 10
还是0.1 - 1
,都不是特别重要。但我想让它们越快越快。在我想出来的那一刻,它反过来。我希望它基于时钟分辨率,所以如果我增加它 - 那么数学仍然很好用它。全球速度设置只是为了玩,可以摆脱它。可以想出扭转这种情况的方式,所以反过来,但我认为它最终将成为一个巨大的方程式,我的脑袋:)这可能是一种做到这一点的方式,即“标准” - 任何想法?
#!/usr/bin/env python
import time
speed1=1
speed2=10
clock_res=500
global_speed=5
def start():
for x in range (0,clock_res):
print x
if (x%(speed1*global_speed)) == 0:
print "speed1"
if (x%(speed2*global_speed)) == 0:
print "speed2"
time.sleep(.05)
if __name__ == '__main__':
start()
感谢您的帮助! 根据建议编辑..
#!/usr/bin/env python
import time
speed1=0.7
speed2=0.3
clock_res=500
def start():
for x in range (0,clock_res):
print x
if (x%(speed1*clock_res)) == 0:
print "speed1"
if (x%(speed2*clock_res)) == 0:
print "speed2"
time.sleep(.05)
if __name__ == '__main__':
start()
那更好吗?
答案 0 :(得分:0)
目前,你似乎在计算,所以,考虑一下。
忽略global_speed,只有两个速度,s1和s2。鉴于你有效地说“当x是s1或s2的倍数时,分别输出”speed1“或”speed2“,较低的值将意味着x是该值的倍数更快。
所以,有几种方法可以解决这个问题。您可以接受较低的值更快,或者从最大速度中减去当前速度(必须预先确定,或者s1和s2的最大值)。
答案 1 :(得分:0)
如果您希望“速度”等于频率,则不能将其用作周期,这是频率的倒数。做类似的事情:
speed1 = .3 # must be between 0 and 1
speed2 = .7
time1 += speed1
if time1 >= 1.:
time1 -= 1.
print "speed1"