下面的程序运行的时候运行到第二轮的时候卡住了,查不出是什么问题
30 个人在一条船上,超载,需要 15 人下船。于是人们排成一队,排队的位置即为他们的编号。报数,从 1 开始数,报数为 9 的人下船。如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢?
l=[]
m=[]
n=[]
len1,yu=0,0
for i in range(1,31):
l.append(i)
while len(l)>15:
len1=len(l)
print('数据长度=',len1)
for j in range(1,len1+1):
if (j+yu)%9==0:
m.append(l[j-1])
print('m=',m)
for k in l:
if not k in m:
n.append(k)
l=n
print('本轮n=',n)
print('结束后本轮l=',l)
yu=len1%9
print('余数=',yu)
if len(l)==15:
break
print('下船编号:',m)
print('没下船编号',l)
输出结果:
运行到第二轮的for k in l这里就一直卡住,能告诉下是什么问题吗?