def ebob_bulma(sayı1,sayı2):
i = 1
ebob = 1
while (i <= sayı1 and i <= sayı2 ):
if ( not (sayı1 % i) and not (sayı2 % i)):
ebob = i
i += 1
return ebob
sayı1 = int(input("Sayı-1:"))
sayı2 = int(input("Sayı-2:"))
print("Ebob:",ebob_bulma(sayı1,sayı2))
Buradaki if ( not (sayı1 % i) and not (sayı2 % i)): ebob = i kullanımında sayı 1in i’den kalanı değilse falan demiş ama ne değilse ? Değilse ebob=i ama ne ,ne değilse ?
Aslında her hangi bir sayıdan başlayıp (veya küçük olan sayıdan daha mantıklı) geriye doğru gitse ve ilk rastladığı ortak böleni döndürse epey hızlanır. 1 den başlamak yerine.
Örneğin 12 ve 24 sayılarında 12 yi hemen bulurdu.
def ebob_bulma(sayı1,sayı2):
i = min([sayı1,sayı2])
while True:
if ( not (sayı1 % i) and not (sayı2 % i)):
return i
i -= 1
Bu adamın her kodu böyle neredeyse. Sanki ilk defa python gören birine öğretmiyor da kendisine kod yazıyor gibi. Youtubede daha insani kodları olan ve öğretici olan birisini buldum artık ondan devam edeceğim gibi görünüyor.
300 saat sürecek bir yazılım derisne başladım, %15 kadarı sadece kurulum, başlangıç gibi şeyler. Bir çok kısmı (MS Win veya IOS gibi sistem üzerindeki kısımlar) 1.5 kat hızla izledim. Daha kodlama kısmına gelmedik.
Baktığınızda anlamsız, lüzumsuz gibi görünen yerler daha sonra karşınıza çıkabiliyor.
Buradaki sorunuzdaki boolean ve şart kısımlarına baştan başlamalısınız. Sıradan bir şart satırını anlamamışsınız. En başa dönmenizi öneririm.
buradaki ifade bozuklugunun nasil cozumlendigi / ne manaya geldigini soruyor. Siz cevaplayabilir misiniz? Mesela sayi olmayan bir sey koydugumuzda, kendi objemizi koydugumuzda ne oluyor?
Burada… –“deyimsel” demek istemiyorum cunku baska bir anlamda kullaniliyor– mecazi bir ifade var. (“Tekele gitmek” gibi) Ne denilmek istedigi acik degil. (Acik oldugunu dusunenler, sunlarin nasil degerlendirilecegini soylesinler lutfen: [], (), [False], (None,), set(), [[]], map(lambda x: x, []), [x for x in []], (x for x in []), ...)