Найти в Дзене
IT Start | Python

Тренажёр реакции на Python

В этой статье мы напишем простой консольный тренажёр реакции на Python, который позволит измерять скорость вашей реакции на случайный сигнал. Перед написанием кода, импортируем необходимые модули: import time
import random Первым делом после импорта модулей добавим приветствие пользователя: import time
import random print("Тренажёр реакции!")
print("Нажмите Enter как можно быстрее, когда появится сообщение 'СТАРТ!'")
input("Нажмите Enter, чтобы начать...") Теперь добавим паузу на случайное количество времени, чтобы пользователь не знал, через какое количество секунд появится надпись «СТАРТ!»: import time
import random print("Тренажёр реакции!")
print("Нажмите Enter как можно быстрее, когда появится сообщение 'СТАРТ!'")
input("Нажмите Enter, чтобы начать...") # Ждём случайное время от 2 до 5 секунд
time.sleep(random.uniform(2, 5)) Далее нам необходимо зафиксировать время реакции: import time
import random print("Тренажёр реакции!")
print("Нажмите Enter как можно быстрее, когда
Оглавление

Введение

В этой статье мы напишем простой консольный тренажёр реакции на Python, который позволит измерять скорость вашей реакции на случайный сигнал.

Написание кода тренажёра реакции на Python

Импортируем необходимые модули

Перед написанием кода, импортируем необходимые модули:

import time
import random

  • time нужен для работы с временем: паузы (sleep) и замер интервалов (time.time()).
  • random позволяет получат псевдослучайные числа — это важно, чтобы задержка перед сигналом была непредсказуемой.

Приветствие пользователя

Первым делом после импорта модулей добавим приветствие пользователя:

import time
import random

print("Тренажёр реакции!")
print("Нажмите Enter как можно быстрее, когда появится сообщение 'СТАРТ!'")
input("Нажмите Enter, чтобы начать...")

  • print() — выводит текст в консоль.
  • input() — ждёт нажатия Enter, давая пользователю время подготовиться.

Случайная пауза перед сигналом

Теперь добавим паузу на случайное количество времени, чтобы пользователь не знал, через какое количество секунд появится надпись «СТАРТ!»:

import time
import random

print("Тренажёр реакции!")
print("Нажмите Enter как можно быстрее, когда появится сообщение 'СТАРТ!'")
input("Нажмите Enter, чтобы начать...")

# Ждём случайное время от 2 до 5 секунд
time.sleep(random.uniform(2, 5))

  • random.uniform(2, 5) — возвращает случайное число с плавающей точкой от 2 до 5.
  • time.sleep(…) — приостанавливает выполнение программы на это время, делая момент сигнала непредсказуемым.

Фиксируем момент старта

Далее нам необходимо зафиксировать время реакции:

import time
import random

print("Тренажёр реакции!")
print("Нажмите Enter как можно быстрее, когда появится сообщение 'СТАРТ!'")
input("Нажмите Enter, чтобы начать...")

time.sleep(random.uniform(2, 5))

start_time = time.time()
input("СТАРТ!")
end_time = time.time()

  • time.time() возвращает текущее время в секундах.
  • Первая запись (start_time) фиксирует момент появления сигнала.
  • После нажатия Enter пользователем фиксируется в end_time.

Вычисляем и выводим результат

Осталось вывести результат:

import time
import random

print("Тренажёр реакции!")
print("Нажмите Enter как можно быстрее, когда появится сообщение 'СТАРТ!'")
input("Нажмите Enter, чтобы начать...")

time.sleep(random.uniform(2, 5))

start_time = time.time()
input("СТАРТ!")
end_time = time.time()

reaction_time = end_time - start_time
print(f"Ваше время реакции: {reaction_time:.3f} секунд")

  • Разница между end_time и start_time — это время реакции.
  • Форматируем вывод с тремя знаками после запятой для удобства восприятия.

Заключение

Мы создали простой тренажёр реакции на Python, который измеряет время отклика пользователя на случайный сигнал. Этот код можно расширять:

  • Использовать time.perf_counter() для более точного замера;
  • Добавить несколько попыток и вычисление средней реакции;
  • Реализовать GUI на tkinter с цветным сигналом и обработкой нажатий без Enter;
  • Cохранять результаты в файл для анализа прогресса.

Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Мой Telegram канал по Python

Мой YouTube канал

Курс по созданию телеграм-ботов на Python с фреймворком Aiogram

Мой курс по Python (50 видоуроков + дополнительные уроки)

Курс по созданию GUI на Python