def test_elo() -> None: assert elo.expected(elo.STARTING_ELO, elo.STARTING_ELO) == 0.5 assert elo.expected(10000, 1) > 0.99 assert elo.expected(1, 10000) < 0.01 assert elo.adjustment(elo.STARTING_ELO, elo.STARTING_ELO) == elo.K_FACTOR / 2 assert elo.adjustment(10000, 1) == 1 assert elo.adjustment(1, 10000) == elo.K_FACTOR
def adjust(winner: str, loser: str) -> None: winner_elo = get_elo(winner) loser_elo = get_elo(loser) change = elo.adjustment(winner_elo, loser_elo) PEOPLE[winner] = winner_elo + change PEOPLE[loser] = loser_elo - change
def adjust(winner: str, loser: str) -> None: change = elo.adjustment(get_elo(winner), get_elo(loser)) PEOPLE[winner] = get_elo(winner) + change PEOPLE[loser] = get_elo(loser) - change