Why does my code not work (Loop Challenge)

The objective of the function is to “remove elements from the front of lst until the front of the list is not even. The function should then return lst .”

#Write your function here
def delete_starting_evens(lst):
for digit in lst:
if digit % 2 == 0:
lst.remove(digit)
else:
break
return lst

print(delete_starting_evens([4, 8, 10, 11, 12, 15]))
print(delete_starting_evens([4, 8, 10]))

The printed results are
[8, 11, 15]
[8]

Why does 8 not get removed? It surely satisfies 8%2 == 0, right?
And why does “break” not work? 12, which comes after 11, still gets removed.

Thank you so much for helping. I am very confused.

We learn that removing items from a list that we are currently iterating can and will have negative consequences. Suggest find a method that does not alter the list while being iterated.