用Python破解围圈报数淘汰小游戏

了解一下游戏规则吧~

这是一款适合班级团建的小游戏哦~如果你想成为那个天选之子不被淘汰的话,应该站在哪个位置才能轻松取胜呢?
假设有n个同学,指定一个同学的位置为1,依次往后为2,3,4,……,n。我们这里以报数到3的倍数的同学淘汰为例,作出以下代码:

代码

#生成一个变量n为人数,随机输入人数,例如本班人数28
n=int(input("人数:"))
#创建列表
list1=[n for n in range(1,n+1)]
#定义一个函数“move”,使得每一次循环将列表开头两个元素移动到列表最后面(以实现现实中人围绕一圈的效果)
def move(list1,sep):
    for n in range(sep):
        item = list1.pop(0)
        list1.append(item)
#在列表长度大于2时开始执行循环,先移动前两个元素到最后,再删除此时处于第一个的元素(以实现报到数字“3”的人淘汰的效果)
while len(list1)  > 2:
        move(list1, 2)
        list1.pop(0)
        print(list1)
print('最终胜利的人为',list1,'号')

我们以28个人为例,得到的结果如下:
人数:28
[4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1, 2]
[7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1, 2, 4, 5]
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1, 2, 4, 5, 7, 8]
[13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1, 2, 4, 5, 7, 8, 10, 11]
[16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1, 2, 4, 5, 7, 8, 10, 11, 13, 14]
[19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17]
[22, 23, 24, 25, 26, 27, 28, 1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20]
[25, 26, 27, 28, 1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23]
[28, 1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26]
[4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 1]
[8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 1, 4, 5]
[13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 1, 4, 5, 8, 10]
[17, 19, 20, 22, 23, 25, 26, 28, 1, 4, 5, 8, 10, 13, 14]
[22, 23, 25, 26, 28, 1, 4, 5, 8, 10, 13, 14, 17, 19]
[26, 28, 1, 4, 5, 8, 10, 13, 14, 17, 19, 22, 23]
[4, 5, 8, 10, 13, 14, 17, 19, 22, 23, 26, 28]
[10, 13, 14, 17, 19, 22, 23, 26, 28, 4, 5]
[17, 19, 22, 23, 26, 28, 4, 5, 10, 13]
[23, 26, 28, 4, 5, 10, 13, 17, 19]
[4, 5, 10, 13, 17, 19, 23, 26]
[13, 17, 19, 23, 26, 4, 5]
[23, 26, 4, 5, 13, 17]
[5, 13, 17, 23, 26]
[23, 26, 5, 13]
[13, 23, 26]
[13, 23]
最终胜利的人为 [13, 23] 号

恭喜13和23位置的同学成为天选之子噢~

有了这个小代码,轻轻松松成为天选之子,助你成为“游戏王”!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值