Spaces:
Sleeping
Sleeping
| """Генератор задач: гроссмейстеры""" | |
| from core.base_generator import BaseTaskGenerator | |
| from models.task import Task | |
| from config import COMPLEXITY_CONFIG | |
| import random | |
| class ChessMastersGenerator(BaseTaskGenerator): | |
| """Генератор задач про гроссмейстеров""" | |
| def generate(self) -> Task: | |
| """Генерация задачи""" | |
| config = COMPLEXITY_CONFIG[self.complexity] | |
| p_white = random.choice([0.5, 0.52, 0.56, 0.6]) | |
| p_black = random.choice([0.3, 0.32, 0.4]) | |
| question = f"Если гроссмейстер А. играет белыми, то он выигрывает у гроссмейстера Б. с вероятностью {p_white}. Если А. играет черными, то А. выигрывает у Б. с вероятностью {p_black}. Гроссмейстеры А. и Б. играют две партии, причем во второй партии меняют цвет фигур. Найдите вероятность того, что А. выиграет оба раза." | |
| answer = round(p_white * p_black, 4) | |
| steps = [ | |
| f"1. Первая партия (белыми): вероятность победы = {p_white}", | |
| f"2. Вторая партия (черными): вероятность победы = {p_black}", | |
| f"3. Обе партии выиграны (независимые события): {p_white} × {p_black} = {answer}" | |
| ] | |
| return Task( | |
| type='chess_masters', | |
| question=question, | |
| answer=answer, | |
| answer_fraction=f"{answer:.4f}", | |
| solution=f"Вероятность = {answer}", | |
| steps=steps, | |
| complexity=self.complexity | |
| ) | |
| def get_type(self) -> str: | |
| return 'chess_masters' |