Spaces:
Runtime error
Runtime error
File size: 1,891 Bytes
d2213a5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | """Генератор задач: гроссмейстеры"""
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' |