模拟报数游戏。有n个人围成一圈,顺序编号,从第一个人开始从1到k(假设k=3)报数,
报到k的人退出圈子,然后圈子缩小,从下一个人继续游戏,问最后留下的是原来的第几号。
"""编写程序,模拟报数游戏。有n个人围成一圈,顺序编号,从第一个人开始从1到k(假设k=3)报数,
报到k的人退出圈子,然后圈子缩小,从下一个人继续游戏,问最后留下的是原来的第几号。"""
members = ['李斩仙', '张三丰', '赵日天', '王涛', '李七夜']
code_members = {} # 准备给成员编号
a = []
for member, index in enumerate(members, 1): # 一个一个编号太麻烦
code_members[index] = member
print(code_members)
while True:
num = int(input("请从1到" + str(len(members)) + "之间随机选择一个数字"))
if len(members) - 1 > 1:
print("1..." + str(num))
a = members.pop(num - 1) # 获取出列人的姓名
print(a + "出列")
else:
for key, values in code_members.items():
if key == members[1]:
a = values
print("最后一个人是" + members[1] + "他是原来的第" + str(a) + "号")
break
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)