# python列表每次删除元素,该元素的位置会被后一位元素占位,同时该列表的长度会减1,
#如果用for遍历则会报错显示超出索引范围而且会漏掉元素,用while可以解决
#例子:围圈数数问题,当每次数到三时就把这个人踢出局,当最后剩下最后一个人时游戏结束。
people_num=eval(input('请输入参与游戏的人数:'))
lst=list(range(1,people_num+1))
i = 0
while True:
if len(lst) == 1:
break # 设定退出循环的条件
i += 1
if i == 3:
lst.pop(0) #数到三时将这个人踢出局
else:
lst.append(lst.pop(0)) #没有数到三将这个人放到列表的最后
print(lst)
print("程序结束")
python解决列表删除元素超出索引的问题
于 2023-10-21 11:16:49 首次发布