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 bug
ları 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 