Python OBEB OKEK fonksiyonunu yazacağız arkadaşlar. Python dilinde ne kadar basit ve yalın olduğu göreceğiz. Daha önce iki sayının OBEB ve OKEK değerlerini bulan fonksiyonu C# platformunda yazmıştık. (Bkzn. C# – OBEB OKEK Fonksiyonu) Aşağıdaki C# kodunu hatırlayalım.
// www.kaizen40.com using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("İlk sayıyı girin:"); int sayi1 = Int32.Parse(Console.ReadLine()); Console.WriteLine("İkinci sayıyı girin:"); int sayi2 = Int32.Parse(Console.ReadLine()); int OKEK = 0, OBEB = 0, k; if (sayi1 < sayi2) { k = sayi2; } else { k = sayi1; } // büyük sayıyı al for (; k <= sayi1 * sayi2; k++) // OKEK' i hesapla { if (k % sayi1 == 0 && k % sayi2 == 0) { OKEK = k; break; // iki sayıyı çarp birbirlerine bölümü tam ise kır } } if (sayi1 > sayi2) { k = sayi2; } else { k = sayi1; } // küçük sayıyı al for (; k > 0; k--) // OKEK' i hesapla { if (sayi1 % k == 0 && sayi2 % k == 0) { OBEB = k; break; // iki sayıyı birbirine böl, bölüm sıfır ise kır } } Console.WriteLine("OBEB(" + sayi1 + "," + sayi2 + ") = " + OBEB); Console.WriteLine("OKEK(" + sayi1 + "," + sayi2 + ") = " + OKEK); Console.WriteLine("Çıkmak için bir tuşa basın..."); Console.ReadLine(); } } }
Python Dilinde OBEB ve OKEK değerlerini bulan fonksiyonu yazmak istersek aşağıdaki fgibi basit ve yalın olmaktadır.
sayi1 = int(input("Bir sayi girin: ")) sayi2 = int(input("Ýkinci saiyi girin: ")) OKEK = 0 OBEB = 0 k = 0 if sayi1 < sayi2: # büyük sayıyı al k = sayi2 else: k = sayi1 while k <= sayi1 * sayi2: # OKEK' i hesapla if k % sayi1 == 0 and k % sayi2 == 0: OKEK = k break # iki sayıyı çarp birbirlerine bölümü tam ise kır k = k +1 if sayi1 > sayi2: k = sayi2 else: k = sayi1 # küçük sayıyı al while k > 0: # OKEK' i hesapla if sayi1 % k == 0 and sayi2 % k == 0: OBEB = k break # iki sayıyı birbirine böl, bölüm sıfır ise kır k = k - 1 print('OBEB({}, {}):'.format(sayi1, sayi2), OBEB) print('OKEK({}, {}):'.format(sayi1, sayi2), OKEK)
Gördüğünüz gibi C# dilinde iki satırda kullanıcıdan bilgi alırken, Python dilinde tek satırla bu işi çözebiliyoruz. C# dilinde for döngüsüyle yaptığımız işi burada while döngüsü ile yapıyoruz. C#’ ta da while döngüsü ile de yapabilirdik. If yapılarında C#’ ta ve operatörünü && olarak kullanırken, Python dilinde ‘and’ olarak daha anlaşılır bir şekilde kullanıyoruz.
0 yorum