我有一个看起来像这样的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更大,我能以某种方式做一个有效的循环吗?
答案 0 :(得分:0)
这应该线性地朝向最大值(假设您选择了增量):
while (max-vol)*numpy.sign(increment)>0:
vol+=increment
func(vol)