← К задачам
Рейтинг Эло
Шахматный клуб после каждой партии пересчитывает рейтинги игроков по системе Эло.
Ожидаемый результат игрока вычисляется по формуле E = 1 / (1 + 10**((opponent - rating) / 400)), а новый рейтинг — rating + k*(score - E), где score равен 1 за победу, 0.5 за ничью и 0 за поражение, а k — коэффициент развития.
Напиши функцию new_rating(rating, opponent, score, k), которая принимает текущий рейтинг игрока rating, рейтинг соперника opponent (целые), результат score (1, 0.5 или 0) и коэффициент k (целое), и возвращает новый рейтинг, округлённый до целого числа.
Примеры:
new_rating(1500, 1500, 1, 32) -> 1516
new_rating(1400, 1600, 1, 32) -> 1424
def new_rating(rating, opponent, score, k):
pass
Для запуска тестов необходима авторизация.