输入报数游戏总人数n(n为正整数),给每人按1-n的顺序进行编号,依次报数(1-3循环报数),但凡报到3的人退出,程序输出最终留下的人的编号是
n = int(input("请输入总人数:"))
circle = list(range(1,n+1))
num = 1
i = 1
while len(circle) != 1:
circle.append(circle.pop(0))
num +=1
if num ==3:
del circle[0]
num = 1
i += 1
print("最后留下的人是原来的:",circle.pop(),"号")
from itertools import cycle
def game(lst,k):
#切片
a = lst[:]
#游戏一直进行到只剩最后一个人
while len(a)>1:
c = cycle(a)
#baoshu
for i in range(3):
t = next(c)
#chuju_one person,
index = a.index(t)
a=a[index+1:]+a[:index]
print(a)
#game finish
return a[0]
lst=list(range(1,11))
pNum= int(input("请输入总人数"))
lst=list(range(1,pNum+1))
print("最后留下来的是原来的",game(lst,3))
n = int(input("请输入总人数:"))
k = 3
alist=[]
for i in range(1,n+1):
alist.append(i)
t=1
i=1
while n>1:
t=t+k-1
if t>n:
t=t%n
i = i + 1
del alist[t-1]
n=n-1
print("最后留下来的是原来的:",alist[0],"号")
n = int(input("输入游戏总人数n:"))
if n == 1:
print("就一个人,当然剩下1号咯")
elif n == 2:
print("最终留下来的是原来的:2号")
else:
List = []
for i in range(n):
List.append(i+1)
baoshu = 0
test = " "
while len(test)>2:
for i in range(len(List)):
if List[i]!= 0:
baoshu +=1
if baoshu ==3:
List.pop(i)
List.insert(i,0)
baoshu = 0
test = set(List)
for i in test:
if i!=0:
print('最终留下来的是原来的:',i,'号')
n=int(input())
li=list(range(1,n+1))
c=0
while len(li)>1:
lio=li[:]
for i in range (0,len(lio)):
c=c+1
if c%3==0:
li.remove(lio[i])
print(li[0])
zong = int(input('请输入总人数:'))
xu = []
for i in range(zong):
xu.append(i + 1)
i = 0
k = 0
m = 0
while m < zong - 1:
if xu[i] != 0:
k += 1
if k == 3:
xu[i] = 0
k = 0
m += 1
i += 1
if i == zong:
i = 0
i = 0
while xu[i] == 0:
i += 1
print('最后留下来的是原来的:', xu[i], '号')
def game(begin,k):
num = int(input("请输入总人数:"))
List = list(range(1,num+1))
out = begin - 1
for i in range(num-1):
out = (out + k - 1) %len (List)
List.pop(out)
print("最后留下来是原来的",List[0],"号")
game (1,3)
n = 10
nlist = []
for i in range(1,n+1):
nlist.append(i)
print(nlist)
a = 1
b = 1
while len(nlist)>1:
for i in nlist:
if a%3==0:
nlist.remove(i)
print("第{}回合:现有编号学员{},被删除学员编号{}".format(b,str(nlist),i))
a+=1
print(nlist)
这是一个关于编程实现的循环报数游戏,玩家按1-3的顺序报数,报到3的人出局,直到只剩下最后一个人。文章通过不同的代码实现方式展示了游戏过程,包括使用列表操作和循环迭代,以及利用`itertools.cycle`等工具。
358

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



