我想做一些简单的循环,这将增加和减少不同的值,不同的
步长直到某个时间到期。在
例如:
(1)第一个变量范围为10到20,步骤1
(2)第二个变量范围为20到30,步骤2
(3)第三个变量范围为30到40,步骤3
(4)第四个变量,范围从10到50,步骤5(1) 10 11 ... 20 19 ... 10 ...
(2) 20 22 ... 30 28 ... 20 ...
(3) 30 33 ... 39 36 ... 30 ...
(4) 10 15 ... 50 45 ... 10 ...
问题出在elif行中,但我不知道如何重新构建这段代码。有人能帮我吗?在
我的代码:for i in range(4):
aHO.setBlock((i + 1), startValue[i])
while time.time() < end:
for i in range (4):
if actualValue[i] <= stopValue[i] - stepSize[i]:
actualValue[i] = actualValue[i] + stepSize[i]
aHO.setBlock((i + 1), actualValue[i])
elif actualValue[i] > stopValue[i] - stepSize[i]:
actualValue[i] = actualValue[i] - stepSize[i]
aHO.setBlock((i + 1), actualValue[i])
time.sleep(float(timeInterval) / 1000)
一切都是正确的,直到值接近停止值,然后值是减少的,但只有一次,然后增加也只有一次,以此类推。例如1 2 3 ... 9 10 9 10 9 10 ...