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
İ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 