BloxyTraul
@BloxyTraul
- _ -

Как сделать цикл не задерживающий программу в Python?

Привет всем, столкнулся с проблемой при разработке программы на пайтон, дело в том что хочу сделать программу с циклом while True: но мне нужно чтобы цикл не тормозил программу, типа так
while True:
    
    while (lefttime > 0): <--- как сделать чтобы не задерживал
        lefttime -= 1
        sleep(1)
        
    word = words[randint(0, allwords)]
    current = str(input(f"{word}: "))
    if (current == word):
        total += 1
    else:
        pass


Очень хотел бы чтобы вы помогли
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Ну для начала, что значит "не задерживал"? Если последующий код зависит от результата работы этого цикла, толку всё равно не будет.
Так что первым делом определись для себя, какие куски кода ты хочешь выполнять параллельно и почему. Вынеси эти фрагменты в отдельные функции.
Далее, реализовать более-менее параллельное выполнение можно через threading.Thread, но там есть целый ряд подводных камней. В первую очередь, доступ на запись (или на чтение и запись) к одной и той же переменной из двух потоков. Во вторую, как следствие - умение передать исходные данные в другой поток и дождаться результата работы из другого потока. В третью - объекты из некоторых библиотек нормально работают только в пределах одного потока, передавать их между потоками нельзя.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект