问题描述:30 个人坐在一条船上,因为超载,需要 15 人下船。于是人们排成一队,排队的位置即为他们的编号。报数,从 1 开始,数到 8 的人下船,例如 8、16、24。如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢?
解决方案:
lst = list(range(1, 31)) #创建30个人的编号
print("编号:", lst)
while len(lst) > 15: #控制只能有十五个人
for i in range(7): #循环七次
lst.append(lst.pop(0)) #将第一个号码放到最后一个号码,同时进行删除
print(f"下船的人为:{lst.pop(0)}") #输出下船的人