我有一个名为Cycle()
的函数,它根据温度调节泵的运行速度。以下是它的一个代表:
def Cycle(self, arg1, arg2, arg3, arg4):
if arg1 < arg2:
self.pumpSpeed = 100
elif ....:
print("Successfully cooled down. Returning to normal")
elif ....:
self.pumpSpeed = 45
elif ....:
print("Solar circuit cooled down. Returning to normal")
elif ....:
self.pumpSpeed = 0
.
.
so on...
您可以看到,在某些情况下PumpSpeed
正在设置,而在另一些情况下,只提供了一个print语句,系统必须等待下一个周期来决定PumpSpeed
应该是什么
我的运行方式如下所示:
for i in range(0,10):
fetchNewArgs()
Obj.cycle(arg1, arg2, arg3, arg4)
sleep(5)
问题是系统可能需要再等待5秒钟,以确定冷却后的新泵转速
解决方案应该是在需要的条件下实现一个continue
,但问题是这不是一个循环,所以不能
有没有办法只在某些情况下立即运行Cycle()
函数而不需要再等待5秒钟
根据@Quamrana的回答,必须进一步限制范围:
Rerun
字的原因是我想使用具有相同参数的循环。下次,争论可能会改变。已经修改了原始循环函数,以证明这一点李>
改变了问题的性质后,函数本身也可以修改为循环:
当大多数路由需要环路时,上述方法有效。或者,如果most想要退出,
do_loop
标志可以在循环中重置:另一个选项是返回是否睡眠的布尔值:
一个选项是从
cycle
方法返回sleep
时间的值:相关问题 更多 >
编程相关推荐