# Python Code Challenges involving Lists, Q4

Hi there,

I’m working on this challenge: codecademy.com/courses/learn-python-3/articles/python-code-challenges-lists

Question 4 is the following:

1. Define the function to accept three parameters, a list of numbers, a number to look for, and a number for the number of instances
2. Count the number of occurrences of `item` (the second parameter) in `lst` (the first parameter)
3. If the number of occurrences is greater than `n` (the third parameter), return `True` . Otherwise, return `False`

In the solution I’ve seen that I could use

``````def more_than_n(lst, item, n):
if lst.count(item) > n:
return True
else:
return False
``````

However, I was trying to build a loop myself and it does run but doesn’t return the desired result. Where’s my mistake, how can I get to the same result as the code above?

``````def more_than_n(lst, item, n):
count = 0
for i in (0,len(lst)-1):
if lst[i] == item:
count += 1
else:
count += 0
if count > n:
return True
else:
return False
``````

The following should return True but returns False with my code:

``````print(more_than_n([2, 4, 6, 2, 3, 2, 1, 2], 2, 3))
``````

Hello @chip1578684310, welcome to the forums! Notice how you’re just iterating through the tuple `(0, len(lst)-1)`? I imagine you’re actually looking to loop through the `range()` of numbers…

Thanks @codeneutrino, I see it now!

1 Like