2009/2/5 [email protected] <[email protected]>:
> 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.
> Thanks!
Looks like homework to me, so I'll just give a couple of suggestions.
If you're going to prompt the user for the number, you'll get a string
back, and that might be easier to work with than a number. So you need
to set a boolean value for the result, something like:
even = True
(because so far you've seen zero 1's, and zero is even).
Then you need to loop over each character in the string -- there's
your loop -- and if (there's your if) it's a "1" change the truth
value of even:
even = !even.
If it is a number rather than a string, you want to do much the same
thing but you'll need the >> and & operators.
Chris has already shown you how this would actually be done in Python,
but that doesn't match your assignment description.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list