Как я могу улучшить / упростить мой «счетчик накопительной последовательности»? - PullRequest
1 голос

Я хотел создать функцию, описывающую спортивную игру под названием «Лидер».Идея состоит в том, что вы делаете столько отжиманий, сколько вы можете увеличивать каждое повторение на 1, и когда вы достигаете своего максимума, каждое следующее повторение уменьшается на 1, пока в итоге вы не достигнете 0 отжиманий.

Мне удалосьсделать это с помощью словарей, но я думаю, что это можно сделать намного проще.

def leader_step(max):
    i = 0
    psps = {0: 0}
    k = 1
    cnt = {0:0}
    while max >= psps[i]:
        if psps[i] == max:      # decrease push-ups as they reach max
            k = -1
        i += 1
        psps[i] = k + psps[i-1]
        if psps[i] < 1:         # game stops when you reach 1 push-up
            del psps[i]
            break
        cnt[i] = cnt[i - 1] + psps[i]
    del psps[0]
    del cnt[0]
    return psps.values(), cnt.values()

Функция должна возвращать 2 последовательности: 1) показывать количество отжиманий при каждом повторении 2) показывать общую суммуотжиманий при каждом повторении

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...