Как сделать ввод текста (input) с таймером, чтобы таймер не мешал вводу? python

В моей программе есть таймер, там нужно за время написать текст, но у меня есть 2 проблемы:

  1. Во время ввода, таймер мешает печатать текст (таймер выводится на новую строку, тем самым текстовый курсор тоже переходит на новую строку) и ввод становиться неправильным.
  2. Если не успеть нажать на 'Enter' после ввода, то в консоль выводит ошибку. Как это исправить?

Код:

import random
import time
import sys
from threading import Thread

Words = ['Fact', 'Death', 'Fun', 'Activity', 'Tea', 'Information',
         'Suggestion']
WordsSlime = (random.randint(0, 6))
print('Enter this word: ', Words[WordsSlime])


def Input():
    global Enter
    Enter = input('\nEnter: ')
    time.sleep(5)


print('')


def timer():
    for i in range(1):
        sys.stdout.write('5')
        sys.stdout.flush()
        time.sleep(1)
        sys.stdout.write('4')
        sys.stdout.flush()
        time.sleep(1)
        sys.stdout.write('3')
        sys.stdout.flush()
        time.sleep(1)
        sys.stdout.write('2')
        sys.stdout.flush()
        time.sleep(1)
        sys.stdout.write('1')
        sys.stdout.flush()
        time.sleep(1)
    sys.stdout.write('\n')
    if Enter == Words[WordsSlime]:
        print('You win!')
    else:
        print('You lose')


Thread(target=Input).start()
print('')
Thread(target=timer).start()

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