Dodawanie liczb binarnych

0

Witam. Mam problem z napisaniem kodu na dodawanie liczb binarnych. Mianowicie chodzi o to, że program daje błąd w momencie gdy wpiszemy liczby o różnych cyfrach.
Oto mój kod:

b1=str(input())
b2=str(input())
b3=""
dalej=0
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
0

Zauważ, że w przypadku dodawania dwóch liczb o różnych długościach musisz je do siebie wyrównać zerami wiodącymi, np.: 1000 + 100 = 1000 + 0100.

0

Na temat odpowiadaj w postach ;-)

Pokaż jak próbowałeś wyrównać dwie liczby o różnych długościach zerami wiodącymi.

0
if (len(b1))<(len(b2))
  ((len(b1))=(len(b1)+((len(b2))-(len(b1)))
0

Dlaczego myślisz, że ten kod będzie wypełniał cokolwiek zerami wiodącymi? :-)
Btw, umieszczaj kod w odpowiednich znacznikach.

0

Znaczy wydaje mi sie, że będzie on dopełniał tą liczbę tak, aby ich długości cyfr były równe, ale żeby dopełniał zerami to tego nie mam pojęcia jak zrobić

0

Wydaje mi się, że przeceniasz zdolności Pytona do czytania w myślach, bo ten kod niestety nie będzie robił nic ;-)

Co powiesz na coś takiego:

while len(liczbaA) < len(liczbaB):
  liczbaA = "0" + liczbaA
0

Nie mogę zastosować while, ponieważ nie mieliśmy jeszcze tego na lekcji.

0

Cóż... w takim razie pomyśl jak przerobić to na for.

0

A jeżeli bym już używal tego while to, w którym miejscu mam to wstawić, bo jak sobie teraz to wstawiłem to mi nie działa
*jestem początkujący dlatego z góry przepraszam jeżeli te pytania są głupie i bezsensowne

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0