#有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
n=int(input("请输入整数n:"))
num=1
flag=1 #标记退出的人数,每退出一个人flag便加1,flag=n时代表剩下最后一个人
a=list(range(1,n+1))
while(flag<n):
for i in a:
if i!='已退出':
if num==3 and flag<n:
a[a.index(i)]='已退出'
print(i)
num=1
flag=flag+1
elif num!=3 :num=num+1
elif flag==n:break
for j in a:
if j != '已退出':print('最后留下的是:%d'%j)
本文通过一个简单的Python程序实现了一个报数游戏:n个人围成一圈按顺序报数,报到特定数字的人退出,直到最后只剩下一个人。文章展示了完整的代码,并解释了其运行逻辑。

被折叠的 条评论
为什么被折叠?



