python_报数游戏_经典考题_四级

来哈,这道题是悦儿姐最恨的一道题,在悦儿姐准备考四级的时候就遇见过它,当时没有做出来。当考四级的时候居然又见着它了,真是哪壶不提开哪壶,悦儿姐瞬间来了个泪崩。好啦,现在早就解决啦,今天感觉没什么可发的,就发了这个:题目有点小偷懒,直接用图片啦:

好,这道题很简单,难就难在怎么让他遍历完了再从头开始。好,看代码吧:

def fn(n,m):
    x=0  # 索引号
    l=list(range(1,n+1))  # 创建一个列表
    if n == 1:  # 只有一个人 这里注意 我们这不是递归终止条件 我们没有用递归
        print(最终胜利者是 :,l[x])
    else:

        for i in range(n-1):  # 因为最后胜利的人你得把他留着,所以要n-1
            x=(x+m)%len(l)-1  # 这是这类题的关键
            print(出局的人是:,l[x])
            del l[x]  # 把他踢出去
            if x<0:  # 绕到头
                x=0  # 再回来
        print(最终胜利者是 :,l[x])
fn(10,4)

好,到这里,本期有点简单,我就没咋注释,有什么不懂的,私信或者评论。不会啥题,来找我。

经验分享 程序员 微信小程序 职场和发展