Я хотел создать функцию, описывающую спортивную игру под названием «Лидер».Идея состоит в том, что вы делаете столько отжиманий, сколько вы можете увеличивать каждое повторение на 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) показывать общую суммуотжиманий при каждом повторении