python实现约瑟夫生者死者小游戏

题目:
30人在一条船上,超载,需要15人下船,于是人们排成了一队,排队的位置即为他们的编号,从第一个开始报数,从1数到9,数到9的人下船,如此循环往复,直到船上仅剩下15人为止,那么有哪些人下船呢?

people = {}
for i in range(1,31):
    people[i] = 1

check = 0
i = 1
j = 0
while i <= 31:
    if i == 31:
        i = 1
    elif j == 15:
        break
    else:
        if people[i] == 0:
            i += 1
            continue
        else:
            check += 1
            if check == 9:
                people[i] = 0
                check = 0
                print("{}号下船了!".format(i))
                j+=1
            else:
                i+=1
                continue