Chris Castillo wrote:
I am having some difficulties in producing the correct code for a simple binary to decimal conversion program. The arithmetic I want to use is the doubling method - so if I wanted to get the decimal equivalent of 1001, I would start with multiplying 0 * 2 and adding the left most digit. I would then take the sum of 1 and multiply it by 2 and add the next digit to that product and so on and so forth until I come to an end sum of 9.

I seem to come up with something like this:

binnum = raw_input("Please enter a binary number:  ")


for i in range(0, len(binum), 1):
    item = "0"
    if i < len(binum) - 1:
        item = binum[i + 1]
binsum = binsum * int(item) * 2 + binsum + int(binum[i])


print "\nThe binary number ", binum, " you entered converts to", binsum, " in decimal."

Having said that I will point out
1 - to access elements of a sequence you may write:
    for item in binnum:
2 - the first element of binnum is binnum[0]. Your code starts by accessing the 2nd element. 3- you use binsum before assigning anything to it. That is bound to raise a Name error. 4 - I don't understand binsum = binsum * int(item) * 2 + binsum + int(binum[i])
    That does not agree with your verbal algorithm.

--
Bob Gailer
Chapel Hill NC
919-636-4239
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to