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