Должно выводить через секунды числа от 10 до 0, вместо этого выводит просто 10

import time
from threading import Thread
i=0
def timee():
    global i
    for i in range (10, 0, -1):
        time.sleep(1)
        
Thread(target=timee).start()    
print(i)

Ответы (1 шт):

Автор решения: Amgarak
import time
from threading import Thread

def timee():
    for i in range(10, 0, -1):
        time.sleep(1)
        print(i)

Thread(target=timee).start()

Глобал не нужен. Достаточно определить i внутри timee. Выводить цифры нужно при каждой итерации цикла.

Дополнение:

import time
from threading import Thread

list =[]

def timee():
    global list
    for i in range(10, 0, -1):
        time.sleep(1)
        print(i)
        list.append(i)

thread = Thread(target=timee)
thread.start()
thread.join()
print(list)
→ Ссылка