python

python,第1张

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)

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5659078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存