Как сделать ввод текста (input) с таймером, чтобы таймер не мешал вводу? python
В моей программе есть таймер, там нужно за время написать текст, но у меня есть 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()