Buradaki kullanımı açıklar mısınız

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 ?

sayı1 % i ifadesi bir sayı döndürüyor. o sayıyı da boolean a çevirmişler. Casting konusuna bakabilirsin.

liste = [1 ,2 , 58, 0, "", "hey", " ",]
for eleman in liste:
   print(eleman, '\t', bool(eleman))
1 Beğeni

Tam olarak: 6. Expressions — Python 3.11.5 documentation

Kodda gereksiz bir “uyaniklilik” yapilmis. (sayı1 % i != 0)'i hem yazmak hem okumak daha kolay.

5 Beğeni

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
1 Beğeni

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.

Sıfır değilse demek oluyor orası ama neden if sayi1 % i != 0 gibi bir şey yazmamış anlamadım.

Kursu veren kral benzer bir örnek gösterse sıradan bir şart satırını anlardım. Öneriniz için teşekkürler.

Siradan bir sart satirini anlamis:

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 []), ...)