"break outside loop" hatası

a=1
while a==1:
print (“1- Ikilik tabandan onluk tabana cevirme”)
print (“2- Onluk tabandan ikilik tabana cevirme”)
print (“3- Cikis”)
secim= int(input(“Lutfen yapmak istediğiniz islemi giriniz:”))
if secim == 1:
alinansayi=int(input(“Lutfen cevirmek istediğiniz sayiyi giriniz:”))
basamak=0
toplam=0
while alinansayi>0:
basamak+=1
alinansayi=alinansayi//10

for a in range(basamak):
toplam+=int(alinansayi[a])*(2**(basamak-a-1))

print(“Onluk tabandaki degeri:”,toplam)

if secim==2:
yenisayi=""
sayi=int(input(“Lutfen cevirmek istediğiniz sayiyi giriniz:”))
yenisayi=str(sayi%2)+yenisayi
sayi=sayi//2
print(yenisayi)

if secim==3:
print(“Cikiliyor”)
break

Break outside loop diyor nedeninini bulamadım ve kodumu kontrol eder misiniz ?

kodunuzu ``` tırnakları içine alabilirmisiniz?

break komutunu if bloğunun altına yerleştirmelisiniz.

if secim == 3:
    print("Çıkılıyor")
    break

Yukarıdaki gibi yapınca düzgünce çalışıyor.

Kodunuzda yer alan başka bir hata ise secim = 1 olduğunda ortaya çıkıyor.
Bir sayının basamaklarına ulaşmak için indeks numarası kullanamazsınız.
Bunun için o sayıyı önce str tipine çevirmeniz gerekiyor.

Veya, int() methodu ile kısayol kullanarak;

    if secim == 1:
        alinansayi = input("Lutfen cevirmek istediğiniz sayiyi giriniz:")
        sonuc = int(alinansayi, 2)
        
        print("Onluk tabandaki degeri:", sonuc)

binary bir ifadeyi decimal bir sayıya çevirebilirsiniz.

1 Beğeni
a=1
yenisayi=""
while True:
    print ("1- Ikilik tabandan onluk tabana cevirme")
    print ("2- Onluk tabandan ikilik tabana cevirme")
    print ("3- Cikis")
    secim = int(input("Lutfen yapmak istediğiniz islemi giriniz:"))
    
    if secim == 1:
        z = (input("Lutfen cevirmek istediğiniz sayiyi giriniz:"))
        alinansayi = int(z)
        basamak = 0
        toplam = 0
        
        while alinansayi > 0:
            basamak+=1
            alinansayi=alinansayi//10
        
        for a in range(basamak):
            k = int(z[a])
            toplam += k * (2 ** (basamak - a - 1))
        
        print("Onluk tabandaki degeri:",toplam)
    
    if secim == 2:
        sayi = int(input("Lutfen cevirmek istediğiniz sayiyi giriniz:"))
        while sayi:
            yenisayi = str(int(sayi) % 2) + yenisayi
            sayi = sayi // 2
        print(yenisayi)
        yenisayi = ""
    
    if secim==3:
        print("Cikiliyor")
        break