Count how often sign changes in array.

### result
number from `0` to ... . Empty array returns `0`

### example

Difficulty: introductory

Starter code:

def catch_sign_change(lst):
	

Solutions:
def catch_sign_change(lst):
    count = 0
    for i in range(1,len(lst)):
        if lst[i] < 0 and lst[i-1] >= 0:count += 1
        if lst[i] >= 0 and lst[i-1] < 0:count += 1
    return count

def catch_sign_change(lst):
    return sum( (x >= 0) != (y >= 0) for x, y in zip(lst, lst[1:]) )

def catch_sign_change(lst):
    return sum( (a or 1)*(b or 1) < 0 for a,b in zip(lst, lst[1:]))

def catch_sign_change(lst):
    count = 0
    countNumber = 0
    i=0
    for n in lst:
        if countNumber >= 0 and n < 0 and i != 0:
            count = count+1   
        elif countNumber < 0 and n >= 0 and i != 0:
            count = count+1   
        countNumber = n
        i = i+1
    return count


def catch_sign_change(lst):
    return sum((m < 0) == (n > -1) for m, n in zip(lst, lst[1:]))

def catch_sign_change(lst):
    res = 0
    for i in range(len(lst)-1):
        if (lst[i] >= 0 and lst[i+1] < 0) or (lst[i] < 0 and lst[i+1] >= 0):
            res += 1
    return res

def catch_sign_change(lst):
    count=0
    for i in range(len(lst)):
        if (i>0) and (0<=lst[i]) and (lst[i-1]<0):
            count+=1
        if (i>0) and (lst[i]<0) and (0<=lst[i-1]):
            count+=1
    return count


def catch_sign_change(lst):
    return sum((a<0)!=(b<0) for a,b in zip(lst,lst[1:]))

def catch_sign_change(lst):
    
    result = 0
        
    for i in range(len(lst)-1):
    
        a = lst[i] if lst[i] !=0 else 1
        b = lst[i+1] if lst[i+1] !=0 else 1
        
        if a*b < 0:
            result += 1
            
    return result

def catch_sign_change(lst):
    return sum(1 for (a, b) in zip(lst, lst[1:]) if (a < 0) != (b < 0))