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

Тренажер памяти на Python

В данной статье напишем консольный тренажер памяти на Python, в котором игрок должен запомнить пары чисел или символов, а затем правильно их воспроизвести. Игроку показываются пары значений: например, A-1, B-2, C-3. Через пару секунд экран очищается, и пользователь должен вспомнить, что с чем связано. Программа проверяет правильность ввода и сообщает результат. Первым делом импортируем все необходимые модули: import random
import time
import os Создадим функцию clear_screen(), которая будет очищать консоль: import random
import time
import os def clear_screen():
os.system("cls" if os.name == "nt" else "clear") Далее воспользуемся генератором словаря и сгенерируем случайные пары для каждого элемента списка symbols: import random
import time
import os def clear_screen():
os.system("cls" if os.name == "nt" else "clear") # Генерация случайных пар
symbols = ["A", "B", "C", "D", "E"]
pairs = {symbol: random.randint(1, 9) for symbol in symbols} Выведем пары в консоль: import random
Оглавление

Введение

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

Что делает программа

Игроку показываются пары значений: например, A-1, B-2, C-3. Через пару секунд экран очищается, и пользователь должен вспомнить, что с чем связано. Программа проверяет правильность ввода и сообщает результат.

Что делает программа

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

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

import random
import time
import os

Создадим функцию clear_screen(), которая будет очищать консоль:

import random
import time
import os

def clear_screen():
os.system("cls" if os.name == "nt" else "clear")

Далее воспользуемся генератором словаря и сгенерируем случайные пары для каждого элемента списка symbols:

import random
import time
import os

def clear_screen():
os.system("cls" if os.name == "nt" else "clear")

# Генерация случайных пар
symbols = ["A", "B", "C", "D", "E"]
pairs = {symbol: random.randint(1, 9) for symbol in symbols}

Выведем пары в консоль:

import random
import time
import os

def clear_screen():
os.system("cls" if os.name == "nt" else "clear")

symbols = ["A", "B", "C", "D", "E"]
pairs = {symbol: random.randint(1, 9) for symbol in symbols}

# Вывод пар пользователю
print("Запомните пары:")
for k, v in pairs.items():
print(f"{k} - {v}")

Добавим задержку на 5 секунд, чтобы игрок успел запомнить пары, после чего сработает функция clear_screen() и очистит консоль:

import random
import time
import os

def clear_screen():
os.system("cls" if os.name == "nt" else "clear")

symbols = ["A", "B", "C", "D", "E"]
pairs = {symbol: random.randint(1, 9) for symbol in symbols}

print("Запомните пары:")
for k, v in pairs.items():
print(f"{k} - {v}")

# Задержка 5 секунд
time.sleep(5)
# Очищение консоли
clear_screen()

Далее произведём проверку памяти пользователя:

import random
import time
import os

def clear_screen():
os.system("cls" if os.name == "nt" else "clear")

symbols = ["A", "B", "C", "D", "E"]
pairs = {symbol: random.randint(1, 9) for symbol in symbols}

print("Запомните пары:")
for k, v in pairs.items():
print(f"{k} - {v}")

time.sleep(5)
clear_screen()

# Вопросы пользователю
score = 0 # Инициализация счётчика правильных ответов

# Итерация по всем символам в списке symbols
for symbol in symbols:
# Запрос у пользователя ввести число для текущего символа
answer = input(f"Какое число было у {symbol}? ")

# Проверка, является ли введённый ответ числом
if answer.isdigit() and int(answer) == pairs[symbol]:
# Если ответ правильный
print("Верно!")
score += 1 # Увеличение счётчика правильных ответов на 1
else:
# Если ответ неверный, вывод правильного ответа
print(f"Неверно! Правильный ответ: {pairs[symbol]}")

В конце будет выводиться результат:

import random
import time
import os

def clear_screen():
os.system("cls" if os.name == "nt" else "clear")

symbols = ["A", "B", "C", "D", "E"]
pairs = {symbol: random.randint(1, 9) for symbol in symbols}

print("Запомните пары:")
for k, v in pairs.items():
print(f"{k} - {v}")

time.sleep(5)
clear_screen()

score = 0

for symbol in symbols:
answer = input(f"Какое число было у {symbol}? ")

if answer.isdigit() and int(answer) == pairs[symbol]:
print("Верно!")
score += 1 # Увеличение счётчика правильных ответов на 1
else:
print(f"Неверно! Правильный ответ: {pairs[symbol]}")

print(f"\nРезультат: {score} из {len(symbols)}")

Тренажёр памяти на Python

     Пример работы кода Admin
Пример работы кода Admin

Улучшение тренажера

Тренажер можно улучшить, добавив в него различные режимы игры, уровни сложности, сохранение результатов и т.д.

Заключение

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

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

Мой YouTube канал

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

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

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