задержка цикла for внутри цикла while
Мне нужно сделать так чтобы выделенный на картинке цикл for имел кд(задержку) 1 секунду перед повторным выполнением, но при этом мне нельзя останавливать общий цикл While. Я пробовал реализовать это используя asyncio, но дело в том что мне нельзя вытаскивать этот цикл for за рамки цикла while.
Ответы (2 шт):
Если я правильно понял, то тебе нужно сделать так, чтобы for работал только каждую секунду, но нельзя его перемещать за цикл. Можно использовать проверку на время. За циклом создаём настоящее время с помощью библиотеки time, а потом сверяем время так, чтобы переменная была меньше настоящего времени на одну секунду. Пример:
import time
Time = time.time()
Sum = 0
while True:
Sum += 1
if Time <= time.time() - 1:
Time = time.time()
print(f"За секунду прошло {Sum} циклов.")
Sum = 0
Как было упомянуто в комментариях нельзя остановить for при этом что бы while работал непрерывно. Ты можешь обернуть for в асинхроную функцию, передавать ей значения, и внутри прописать await. Тем самым будет обещание выполниться через нужное время. Но while будет тебе плодить новые функции и у тебя будет умножаться очередь эвейтов что скорей всего крашнется через пару часов. По этому while тоже надо ставить на паузу.
