Witam. Napisałem kod na dodawanie liczb binarnych. Wszystko jest ok, ale gdy wpiszemy cyfry np. 010 i 100 to wyskakuje 116, co jest błędnym wynikiem. Kiedy zaś wpiszemy 10 i 100 wynik jest dobry czyli 110.
Proszę o pomoc, oto mój kod:
b1=str(input())
b2=str(input())
b3=""
dalej=0
h=b1+b2
for g in h:
if int(len(b1))<int(len(b2)):
b1="0"+b1
for g in h:
if int(len(b2))<int(len(b1)):
b2="0"+b1
for i in range(len(b1)-1,-1,-1):
suma=int(b1[i])+int(b2[i])+dalej
if suma > 1:
suma-=2
dalej=1
else:
dalej=0
b3=str(suma)+b3
if dalej==1:
b3=str(dalej)+b3
print b3
---------------
lub 2 wersja:
---------------
b1=str(input())
b2=str(input())
b3=""
dalej=0
while len(b1)<len(b2):
b1="0"+b1
while len(b2)<len(b1):
b2="0"+b2
for i in range(len(b1)-1,-1,-1):
suma=int(b1[i])+int(b2[i])+dalej
if suma > 1:
suma-=2
dalej=1
else:
dalej=0
b3=str(suma)+b3
if dalej==1:
b3=str(dalej)+b3
print b3