посчитать кол-во нулей в числе Python

Eсть вот такой кусок кода надо чтобы он при вводе числа в котором есть ноль, выдавал это кол-во нулей

def zero(value):
    x = 0
    if  value == '0':
        print(x)
        x = x + 1

F = input()

zero(F)

Не могу понять, что надо исправить


Ответы (4 шт):

Автор решения: Victor VosMottor
def count_zeroes(n):
    return str(n).count('0')
→ Ссылка
Автор решения: vp_arth

Если по честному работать с числом, то нужно делить:

def foo(n):
    if n < 0: 
        return foo(-n)
    i = 0
    while n:
        i += n % 10 == 0
        n //= 10
    return i

assert 3 == foo(10230240)

Для строки можно так:

def sfoo(sn):
    # if sn[0] == '-': return sfoo(sn[1:])
    # return sn.count('0')
    # len([*filterfalse(int, sn)])
    # return len([1 for d in sn if d == '0'])
    # return sum(d == '0' for d in sn)

    i = 0
    for d in sn:
        i += d == '0'

    return i

assert 3 == sfoo('10230240')
→ Ссылка
Автор решения: Danis
def f(n):
    return len(list(filter(lambda x: x == "0", str(n)))) 
→ Ссылка
Автор решения: Zhihar

если надо работать только с числом:

num = -10203040506070809

count = 0
value = abs(num)

while value != 0:
    count += int(value % 10 == 0)
    value //= 10

print(count)

абсолютное значение берется, потому что -1 // 10 = -1 и цикл будет бесконечным для отрицательных чисел

если можно работать со строкой:

num = -10203040506070809

count = str(num).count('0')

print(count)
→ Ссылка