@Dalaweb

Как лучше рассчитать уровень исходя из опыта?

Мне нужно сделать определение уровня исходя из очков опыта, но ничего лучше такого в голову мне не приходит:
def lvl(points: int):
    if points <= 2:
        return 0
    if points <= 5:
        return 1
    if points <= 15:
        return 2


Собственно, надеюсь на силу хабра и жду предложений
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
iggor-markin
@iggor-markin
Python Developer
Можно вот так реализовать:
RANKS = {
    0: 2,
    1: 5,
    2: 15,
}

def get_rank(points: int) -> int:
    for k, v in RANKS.items():
        if points <= v:
            return k
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Можно создать обычный словарь, в котором уровень - ключ, а кол-во опыта - значение

levels = {0: 2, 1: 5, 2: 15}


def get_level(current_xp):

    sorted_levels = dict(sorted(levels.items()))

    for level, xp in sorted_levels.items():
        if current_xp <= xp:
            return level
    else:
        return list(sorted_levels)[-1]


print(get_level(9))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы