为什么我的程序无法正常运行?

时间:2020-05-04 00:57:22

标签: python

因此,我应该编写一个程序,该程序接受一个整数列表和值n,并且如果该列表中的任何整数重复了n次以上,则将其删除。我的程序目前适用于大多数测试,但我不知道为什么它不适用于某些测试。这是短代码:

def solution(data, n): 
  if n <= 0:
      return []
  reserve=[]
  for s in data:
      if s not in reserve:
          if data.count(s) > n:
              continue
          else:
            reserve.append(s)
  del data[:]
  return reserve

有人知道为什么它不起作用吗?是否有差异?

1 个答案:

答案 0 :(得分:0)

#use print statements to debug your program
data=[1,1,1,1,1,2,2,2,2,3,3,3,4,4]

def solution(data, n): 
  if n <= 0:
      return []
  reserve=[]
  for s in data:
      print(reserve.count(s))
      if reserve.count(s) >= n:
         continue
      else:
         reserve.append(s)

  return reserve

res=solution(data,3)
print(res)

输出:

0
1
2
3
3
0
1
2
3
0
1
2
0
1
[1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4]