Код:
import time
def update_lof():
global lof
lof -= 1
if lof < 0:
lof = 0
print(f"lof: {lof}")
lof = 10
while lof > 0:
update_lof()
time.sleep(1) # Задержка на 1 секунду
# Пример использования input для ввода данных
user_input = input("Введите число: ")
print(f"Вы ввели: {user_input}")
Код, версия 2 со сбросом значения lof:
import time
import threading
def update_lof():
global lof
while True:
if lof > 0:
lof -= 1
else:
lof = 10 # Сбрасываем значение обратно к 10, если оно достигает нуля
print(f"lof: {lof}")
time.sleep(1) # Задержка на 1 секунду
def input_thread_function():
user_input = input("Введите число: ")
print(f"Вы ввели: {user_input}")
# Инициализация переменной lof
lof = 10
# Создание и запуск потока для бесконечного цикла
lof_thread = threading.Thread(target=update_lof)
lof_thread.daemon = True # Позволяет завершить программу, если останется только этот поток
lof_thread.start()
# Ожидание ввода от пользователя в основном потоке
input_thread_function()
Проблема в том, что выполняется цикл, и input не начинает работать.
Чтобы переменная lof уменьшалась и код работал последовательно.