예제 #1
0
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
예제 #2
0
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
예제 #3
0
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