• Как рассчитать общую стоимость?

    @o5a
    Как можно это посчитать.

    Создать словарь последовательных диапазонов с ценами.
    prices = {2000: 70, 3000: 100, 3500: 150, 4000: 200, 4500: 250, 5000: 300}

    Затем постепенно проходить по словарю, сравнивая текущий начальный рейтинг с ключом.
    Если рейтинг ниже диапазона, то к итоговой сумме добавляем расчетную сумму из этого диапазона, т.е. (граница - рейтинг)*цена, после чего текущий рейтинг выставляем на эту границу.
    И так пока не дойдем до нужного рейтинга.
    Ответ написан
    Комментировать
  • Как рассчитать общую стоимость?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Да, так и надо считать. Если диапазон входит полностью - считаете его целиком, если только его часть - то считаете долю от диапазона.

    Вот демонстрационная таблица

    605734c168526238238062.png
    Ответ написан
    Комментировать
  • Как рассчитать общую стоимость?

    Vindicar
    @Vindicar
    RTFM!
    У тебя есть два возможных случая.
    а. Начальный рейтинг и целевой рейтинг в одном диапазоне. Рассчитываешь стоимость по цене этого диапазона.
    б. Начальный рейтинг и целевой рейтинг в разных диапазонах.
    Тогда общая стоимость будет складываться из трёх значений.
    1) Стоимость выхода из начального диапазона: (верхняя граница - начальный рейтинг) * цена диапазона
    2) Стоимость прохода через все промежуточные диапазоны: Сумма ((верхняя - нижняя) * цена диапазона). Может быть нулевой, если целевой рейтинг в соседнем диапазоне.
    3) Стоимость внутри целевого диапазона: (целевой рейтинг - нижняя) * цена диапазона

    Возможно, разности придётся округлить вверх до минимального количества покупаемого за раз рейтинга.

    А вообще ты уверен, что в рамках одной транзакции цена за рейтинг разная? Может, она зависит только от стартового рейтинга? Тогда буст большими объемами с малых рейтингов будет выгоднее.
    Ответ написан
    Комментировать
  • Как реализовать ожидание ответа пользователя боту в ТГ?

    @twistfire92
    Python backend developer
    Если пользуетесь библиотекой pyTelegramBotAPI (telebot), то используйте register_next_step_handler
    Примеры использования отлично гуглятся, в том числе на этом ресурсе много информации
    Ответ написан
    1 комментарий