无论循环的方向如何,我怎么能做一个有效的while循环?

时间:2018-05-22 15:47:47

标签: python

我有一个看起来像这样的forloop,我用它来慢慢增加家庭自动唤醒报警系统中扬声器的音量。

while vol < max:
    if datetime.datetime.now() > next:
       next = datetime.datetime.now() + datetime.timedelta(seconds=rate);
       vol = vol + increment
       func(vol)

1,我知道这是一种可怕的做法,但我的环境(rasberry pi)不支持time.sleep。我愿意接受其他建议!

2,有时,vol&gt;最开始。增量将自动计算为负数,但循环将仅被跳过。无论如何vol或max更大,我能以某种方式做一个有效的循环吗?

1 个答案:

答案 0 :(得分:0)

这应该线性地朝向最大值(假设您选择了增量):

while (max-vol)*numpy.sign(increment)>0:
    vol+=increment
    func(vol)