如何改进/简化我的“pullup sequence累加器计数器”?

2024-09-29 21:53:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个函数来描述一个名为“Leader”的运动游戏。这个想法是你做尽可能多的俯卧撑,每次重复增加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) 显示每次重复做俯卧撑的总次数


Tags: 方法函数游戏if字典次数pushmax

热门问题