我不知道这是一个简单的问题还是不可能的,但是我找不到任何东西,所以我想我会问这个问题。从python的while循环中返回值
当循环仍在运行时,是否可以从while循环返回值?基本上我想要做的是在while循环内不断更新矢量,但在不停止while循环时能够返回值。这可能吗?我是否需要分解程序并将while循环放在一个单独的线程中,或者我可以在一个函数中执行它?
另外我更喜欢一种不是计算密集型(明显)的方法,而是一种兼容速率限制while循环的方法,因为这个方法肯定会受到速率限制。
再一次,如果这是一个愚蠢的问题,只要告诉我,我会删除它,但我无法找到关于此的文档。我想有实现这个
代码:
def update(self, x_motion, y_motion, z_motion):
self.x_pos += self.x_veloc
self.y_pos += self.y_veloc
self.z_pos += self.z_veloc
self.x_veloc += self.x_accel
self.y_veloc += self.y_accel
self.z_veloc += self.z_accel
self.x_accel = x_motion[2]
self.y_accel = y_motion[2]
self.z_accel = z_motion[2]
while True:
self.update(x_motion, y_motion, z_motion)
print vector.x_accel
至少沿着这些线路的东西。重要的是它们会在while循环之外返回,这样while循环就会在后台运行,但它只会在被询问时给出结果,或类似的东西。
你需要给出关于你想要做什么的更多细节,最好是一些示例代码。这听起来像发电机可能会帮助你,但很难从你的描述中知道。 – BrenBarn
While循环是否需要同时保持运行操作?生成器可以暂停并返回一个值,然后在请求下一个值时恢复其停止的位置。但它在值之间停顿。 – jdi
它可能会暂停,我正在考虑这样做,但如果可能的话,我宁愿不暂停while循环。 –