The function count_positives_and_negatives(numbers) takes a list of numbers and returns a tuple (pos, neg) — the count of positive numbers and the count of negative numbers. Zeros are excluded.
For most inputs it returns the right count for positives, but the negative count always comes out as 0, no matter what's in the list.
The logic looks correct. The filter is right. The counting loops are right. So why does one of them always return zero?