python——报数游戏

报数游戏

模拟报数游戏。有n个人围成一圈,顺序编号,从第一个人开始从1到k(假设k=3)报数,
报到k的人退出圈子,然后圈子缩小,从下一个人继续游戏,问最后留下的是原来的第几号。

思路

python——报数游戏_第1张图片

代码

"""编写程序,模拟报数游戏。有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

python——报数游戏_第2张图片

你可能感兴趣的:(python)