我是靠谱客的博主 唠叨冬日,这篇文章主要介绍python之n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向......,现在分享给大家,希望可以做个参考。

题目补充:从1号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加1。若一个小朋友报的数为k的倍数,则该小朋友被淘汰出局, 不再参加以后的报数。当游戏中只剩下一个小朋友时,该小朋友获胜。 例如,当 n=5, k=2 时:1号小朋友报数 1;2号小朋友报数 2 淘汰;3号小朋友报数 3;4号小朋友报数4淘汰;5号小朋友报数5;1号小朋友报数6淘汰;3号小朋友报数7;5号小朋友报数8淘汰;3号小朋友获胜。 让用户给定n和k,请问最后获胜的小朋友编号为多少?

def func41(n, k):
    temp_list = [i for i in range(1, n + 1)]
    temp = 1
    while len(temp_list) > 1:
        temp_list.append(temp_list.pop(0))#满足条件的小朋友的编号加到列表最后继续后续操作
        temp += 1
        if temp % k == 0:
            del temp_list[0]#不满足条件的小朋友的编号移除出列表,不再进行后续操作
    for i in temp_list:
        return '%d号小朋友获胜' % i


if __name__ == '__main__':
    print(func41(5, 2))

 

最后

以上就是唠叨冬日最近收集整理的关于python之n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向......的全部内容,更多相关python之n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部