Python ile Bir Dizi İçerisindeki En büyük ve En Küçük Sayıyı Bulma
Python kullanarak örnek algoritma sorularını çözdüğümüz serimizin sekizinci sorusuna geçelim:
- Bir dizi içerisinde en büyük ve en küçük sayıyı bulan fonksiyonu yazın.
- Örnek girdi: [3, 7, 2, 11, 15, 1, 18]
- Örnek çıktı: En küçük: 1, En büyük: 18
- Çözüm Yolu: Python’ın “min()” ve “max()” Fonksiyonları
1 2 3 4 5 6 7 |
def min_max_bul_builtin(dizi): return min(dizi), max(dizi) # Örnek kullanım: giris_dizi = [3, 7, 2, 11, 15, 1, 18] enkucuk, enbuyuk = min_max_bul_builtin(giris_dizi) print("Built-in Fonksiyonlar ile En küçük:", enkucuk, "En büyük:", enbuyuk) # En küçük: 1, En büyük: 18 |
Yukarıdaki kodumuzda, bir dizi içerisindeki en küçük ve en büyük elemanları bulmak için Python’da varsayılan olarak gelen min()
ve max()
fonksiyonlarını kullanılmıştır.
- Çözüm Yolu: For Döngüsü
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
def min_max_bul_manual(dizi): enkucuk = dizi[0] enbuyuk = dizi[0] for sayi in dizi: if sayi < enkucuk: enkucuk = sayi elif sayi > enbuyuk: enbuyuk = sayi return enkucuk, enbuyuk # Örnek kullanım: giris_dizi = [3, 7, 2, 11, 15, 1, 18] enkucuk_manual, enbuyuk_manual = min_max_bul_manual(giris_dizi) print("Manuel For Döngüsü ile En küçük:", enkucuk_manual, "En büyük:", enbuyuk_manual) # En küçük: 1, En büyük: 18 |
Bu yöntemde, dizi içindeki her elemanı for döngüsü ile tek tek kontrol ediyoruz. Başlangıçta, dizinin ilk elemanını hem en küçük hem de en büyük değer olarak kabul ediyoruz. Sonra, if-else koşul ifadeleri ile her bir elemanı bu değerlerle karşılaştırarak, gerçek en küçük ve en büyük değerleri buluyoruz.
Her iki yöntemde de, değerlerin birden fazla değişkene aynı anda atanması için “variable unpacking” yöntemi kullanılmıştır.