18. Быстрый стрелок.

(открыть в новой вкладке)

Условие:

Напишите программу, которая будет проверять скорость вашей реакции.
Вы должны нажать Enter, как только увидите сообщение об этом. А затем ещё раз нажать Enter, после сообщения "Выстрел!!!". Если нажмёте раньше или очень долго не будете нажимать, то проиграете.

Код:

import random, sys, time, bext


bext.clear()
print()
input('Нажмите Enter, чтобы начать...')

while True:
    print()
    time.sleep(random.randint(20, 50) / 10.0)                                       # рандомная задержка перед выстрелом
    print('Выстрел!!!')
    drawTime = time.time()                                                          # фиксация времени (старт)
    input()  
    timeElapsed = time.time() - drawTime                                            # как только будет выполнен предыдущий input, станет зафиксировано время реакции в переменной

    if timeElapsed < 0.01:                                                          # фальтстарт
        print('Вы нажали enter раньше времени.')
    elif timeElapsed > 0.33:
        timeElapsed = round(timeElapsed, 4)
        print('Вы нажали enter очень поздно!!!', timeElapsed, 'секунд.')
    else:
        timeElapsed = round(timeElapsed, 4)
        print('Ваша реакция', timeElapsed, 'секунд.')
        print('Вы выиграли!')

    print('Нажмите QUIT для выхода, или Enter для продолжение.')
    response = input('> ').upper()
    if response == 'QUIT':
        print('Игра окончена!')
        sys.exit()