Я не знаю, является ли это простым вопросом или невозможным или что-то еще, но я ничего не мог найти на нем, поэтому я решил, что спрошу его.Возвращаемые значения из цикла while в python
Возможно ли вернуть значения из цикла 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, если это вообще возможно. –