Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I count the trailing zeros in integer?

Tags:

python

I am trying to write a function that returns the number of trailing 0s in a string or integer. Here is what I am trying and it is not returning the correct values.

def trailing_zeros(longint):
    manipulandum = str(longint)
    x = 0
    i = 1
    for ch in manipulandum:
        if manipulandum[-i] == '0':
            x += x
            i += 1
        else:
            return x
like image 673
Friedrich Nietzsche Avatar asked Dec 21 '11 16:12

Friedrich Nietzsche


2 Answers

For strings, it is probably the easiest to use rstrip():

In [2]: s = '23989800000'

In [3]: len(s) - len(s.rstrip('0'))
Out[3]: 5
like image 71
NPE Avatar answered Oct 14 '22 10:10

NPE


May be you can try doing this. This may be easier than counting each trailing '0's

def trailing_zeros(longint):
    manipulandum = str(longint)
    return len(manipulandum)-len(manipulandum.rstrip('0'))
like image 45
Abhijit Avatar answered Oct 14 '22 10:10

Abhijit