Using while loop and if statement to tell if a binary has an odd or even number of 1's.

Chris Rebert clp2 at rebertia.com
Wed Feb 4 20:18:25 EST 2009


On Wed, Feb 4, 2009 at 5:02 PM, todpose at hotmail.com <todpose at hotmail.com> wrote:
> Using while loop and if statement, I'm trying to get Python to tell me
> whether there are even or odd number of 1's in a binary representation.
> For example, if I give Python a 00000111, then I want it to say that the
> binary representation given has an odd number of 1's.
> If I give it 00010111, then it will tell me that there is an even number of
> 1's.
> I'd appreciate any suggestion.

Please define "binary representation". Do you mean a sequence of
bytes, an integer, a string of 0s and 1s, or something else entirely?

If it's a string of 0s and 1s, then:
is_even = zerosones.count('1') % 2 == 0

For an integer:
is_even = bin(the_int)[2:].count('1') % 2 == 0

For the others, I don't know offhand.

Cheers,
Chris

-- 
Follow the path of the Iguana...
http://rebertia.com



More information about the Python-list mailing list