Ebob Bulma Programı

def ebob(x,y):
    bolen = 2
    carpim = 1
    while x >= 1 or y >= 1:
        if x % bolen == 0 and y % bolen == 0:
            x /= bolen
            y /= bolen
            carpim *= bolen
        elif x % bolen == 0 and y % bolen != 0:
            x /= bolen
        elif x % bolen != 0 and y % bolen == 0:
            y /= bolen
        elif x % bolen != 0 and y % bolen != 0:
            bolen += 1
        return carpim

Merhaba. Kafam patlayacak ama nerede yanlış olduğunu bulamıyorum bir türlü. Herşey çok doğru gözüküyor :). while döngüsü şartı gerçekleşene kadar devam etmeli ama etmiyor. ilk if bloğunda bitiriyor çalışmayı. Çözemedim.

Merhaba, malumunuz Python’da girintiler önemli :)

return u koymadığım yer kalmadı satırında :). Diğerlerinde bir şey varda ben hala göremiyor muyum?

Aslında fonksiyondan ne zaman return etmek istiyorsanız oraya koysanız çalışmaz mı? Yani while bittiğinde

Evet ben ilk başta öyle yaptım, buraya farklı yapıştırmışım da, şimdi tekrar demedim program çalışmaya devam edip cevap vermiyor.

def ebob(x,y):
    bolen = 2
    carpim = 1
    while x >= 1 or y >= 1:
        if x % bolen == 0 and y % bolen == 0:
            x /= bolen
            y /= bolen
            carpim *= bolen
        elif x % bolen == 0 and y % bolen != 0:
            x /= bolen
        elif x % bolen != 0 and y % bolen == 0:
            y /= bolen
        elif x % bolen != 0 and y % bolen != 0:
            bolen += 1
    return carpim

print(ebob(24,32))

evet durmuyor, başka bir sorun var galiba :d

:smiley: İnanamıyorum şu an çalışmadığına

Bir soru: acaba bolen değişkenini her halükarda artırmak gerekmez mi?

Örnek olarak her ikisini tam böldüğü durumda arttırmamak lazım, çünkü bir daha tam bölünebilir. Teki tam bölündüğünde de aynı durum geçerli. Sadece her ikisisin tam bölünmediği durumda artmalı.

1 Beğeni

evet şimdi anladım sağolun

O zaman sorum şudur: acaba while ne zaman bitmeli? Meslea x veya y’den herhangi biri 1 olsa artık ortak bölen aramaya gerek var mıdır?

1 Beğeni

Bunu yapmamış olamam. Her şeyi denedim koşul için bunu denemediysem yani… Gözden kaçmış. Çok teşekkür ettim.

1 Beğeni

rica ediyorum, bir debugger kullansanız bu tür bugları belki daha hızlı keşfedebilirsiniz. Hangi ortamı kullanıyorsunuz kod yazmak için bilmiyorum ama gerek Python ile beraber gelen gömülü breakpoint fonksiyonunu (ve pdb modülünü) gerekse gelişmiş text editörleri veya IDE’lerde bulunabilen “visual” debugger’ları kullanmak işinize yarayabilir.

mesela

gibi bir düzen ile programın akışını izleyebilir ve aksilikleri daha kolay tespit edebilirsiniz.

1 Beğeni

PyCharm kullanıyorum, tamamdır :+1: