Summary

These are lecture notes on Python programming. The document covers functions in Python, including how to define functions, and how different types of functions work in Python. The document contains examples of how to create and use these types of functions.

Full Transcript

PYTHON İLE PROGRAMLAMA ÖĞR.GÖR.SEREN OCAK [email protected]. tr FONKSİYONLAR Programın belli işlevini/ görevini yerine getiren küçük program parçalarıdır. Programın boyutu yani kod satırlarının sayısı büyüdükçe, işle...

PYTHON İLE PROGRAMLAMA ÖĞR.GÖR.SEREN OCAK [email protected]. tr FONKSİYONLAR Programın belli işlevini/ görevini yerine getiren küçük program parçalarıdır. Programın boyutu yani kod satırlarının sayısı büyüdükçe, işler komplike bir hal alır. Bunları küçük bloklar halinde ele alabilme işlevine fonksiyon adı verilir. Kod bloklarının birleşimi ile ANA PROGRAM oluşur. Her bir kod bloğunun farklı görevleri vardır. Ana programlar çeşitli fonksiyonlardan oluşabilirken, fonksiyonların alt katmanlarında da fonksiyonları oluşturan farklı fonksiyonlardan bahsedilebilir. Pythonda fonksiyonlar olarak belirttiğimiz kavramlar farklı programlama dillerinde de »alt yordam» , «metod» gibi isimler alabilmektedirler. FONKSİYON NEDEN KULLANILIR? Bir ev düşünelim. Bir evi sıfırdan inşa etmek için birden fazla ustanın çeşitli konularda çalışmalar yapması gerekir. Mobilyacı, boyacı, tesisatçı, elektrikçi… Her bir işi bir usta yapar ve bunları fonksiyon olarak ele alabiliriz. Bir elektrikçi bir ev ya da birden fazla ev için, hatta bir evin birden fazla odası için tekrar tekrar çağrılabilir. Fonksiyonlar da benzer şekilde birden fazla kez başka fonksiyonlar içerisinde çağrılabilir. Hem kod tekrarını önlemek hem de anlaşılabilirliği arttırmak amacıyla fonksiyonlardan yararlanırız. Hata takibi, program üzerinde ileri-geri kod takibini gerçekleştirmek için de fonksiyonlardan yararlanılır. FONKSİYON TANIMLAMA Kod yazarken sıklıkla kullandığımız print() ve input() birer fonksiyondur. Bunlara «yerleşik fonksiyon» denir. () simgesi, fonksiyonları ifade eder. Python dilinde fonksiyon tanımlamak için def komutunu kullanırız. Defination kelimesinden türeyen bu kelime tanımlamak anlamında kullanılır. Fonksiyonların Bölümleri 1. İsmi: Fonksiyonun bir adı vardır. Bu isim, fonksiyonun ne yaptığını belirtir. İsimler, program yazarken dikkat etmemiz gereken kurallara uymalıdır. def toplama(): # Burada "toplama" fonksiyonun adı pass 2. Parametreler: Fonksiyon çağrılırken ona bazı bilgiler (parametreler) gönderebiliriz. Bu parametreler, fonksiyonun çalışması için gereklidir. Gönderdiğimiz parametrelerin sayısı ve türü doğru olmalıdır. def toplama(a, b): # "a" ve "b" parametreler return a + b Burada toplama fonksiyonuna iki sayı (a ve b) göndermeliyiz. 3. Sonuç Türü: Fonksiyon, işini bitirdiğinde bir değer döndürür. Bu döndürülen değer, önceden belirtilen türde olmalıdır. Yani, toplama fonksiyonu iki sayı alır ve bunların toplamını döndürür. Bu döndürdüğü değer, beklenen bir sayı (integer) türündedir. sonuc = toplama(3, 5) # Burada fonksiyon 8 döndürüyor print(sonuc) # 8 Parametresiz Fonksiyonlar Bazı fonksiyonlar parametre kabul etmez. Örneğin rastgele bir sayı oluşturmamızı sağlayan random fonksiyonu bu duruma bir örnektir. Bu fonksiyonu çağırarak rastgele bir sayı değeri elde ederiz. Bu fonksiyonu parametre ile çağırmak hataya neden olacaktır. Değer Döndürmeyen Fonksiyonlar Bazı fonksiyonlarda parametre beklemelerine rağmen sonuç, değeri döndürmeyebilir. Örneğin print fonksiyonunun işlevi, hesaplama yapmak değil, ekranda görüntülemek olduğu için bu fonksiyonun sonucu diğer fonksiyonlara göre farklıdır. print(print(4)) ---- Bu örnekte içerideki parametre ekrana 4 yazdırırken dıştaki print, içerideki fonksiyon değerini döndürür. Ayrıca bir değişkene “None” değeri atayabiliriz. İçteki print(4): Bu fonksiyon, ekrana 4 yazdırır. Dıştaki print: İçteki print fonksiyonunun sonucu None olduğu için, dıştaki print fonksiyonu None değerini Yani, bu örnekte: İlk olarak 4 ekrana yazdırılır. Sonra None ekrana yazdırılır. Bu yüzden print(print(4)) ifadesi, önce 4, sonra None yazdırır. Eğer bir fonksiyon döndürmüyorsa, sonuç olarak "None" alırız. Bu durumu bir değişkene atayabiliriz: sonuc = print(4) print(sonuc) # None yazdırır PARAMETRELİ FONKSİYONLAR Parametreli fonksiyonlar, çağrıldıklarında belirli değerleri (parametreleri) alabilen fonksiyonlardır. Bu değerler, fonksiyonun işlemlerini etkiler ve genellikle daha esnek bir yapı sunar. Temel Bileşenler: Fonksiyon Tanımı: def anahtar kelimesi ile başlar. Parametreler: Fonksiyonun parantezleri içinde tanımlanır. İşlem ve Dönüş: Fonksiyon, parametreler üzerinde işlem yapar ve bir sonuç döndürebilir. Bir sayının asal bir sayı olup olmadığını bulan bir fonksiyon yazabilirsiniz. Fonksiyon, sayı asal ise “True”; değilse “False” değerini döndürecektir. “for” döngüsünde sayının yarısına kadar bakmamızın nedeni bir sayının kendi değerinin yarısından önce böleni yok ise sonrasında da olmayacağı kuralıdır. Verilen sayının faktöriyelini bulan bir fonksiyon tanımlayabilirsiniz. (Bir sayının faktöriyeli kendisinden başlayarak 1’e kadar olan tüm sayıların çarpımıdır. 3! =3*2*1) PYTHON DİLİNDE FONKSİYON TANIMLARKEN SIK YAPILAN HATALAR «def» kelimesinde hata yaparsanız, program çalışmayacaktır. Girintilere dikkat etmezseniz hata oluşur. Tanım kısmında parametre yazmayı unutur, çağırma kısmına parametre gönderirseniz hata oluşur. Tanımlama Kısmı: def DenemeFonksiyon(): Çağırma Kısmı: DenemeFonksiyon(a,b) Çağırma kısmında parametre yazmayı unutur, tanım kısmına parametre gönderirseniz hata oluşur. Tanımlama Kısmı: def DenemeFonksiyon(): Çağırma Kısmı: DenemeFonksiyon(a,b) Kullanıcıdan aldığımız kelimenin soldan sağa dönüşmüş yani ters halini kullanıcıya iletelim. Kelime[:: -1] kelimeyi ters çevirmek için kullanılan bir işlevdir. def tersCevir(kelime): return kelime[::-1] metin=input("Lütfen Kelimeyi Giriniz: ") print(tersCevir(metin)) selamla fonksiyonu, bir parametre (isim) alır ve bu isimle bir selam mesajı yazdırır.selamla("Ali") çağrıldığında, "Ali" ismi kullanılarak "Merhaba, Ali!" mesajı ekrana yazdırılır. def selamla(isim): print("Merhaba, " + isim + "!") # Fonksiyonu çağırma selamla("Ali") # Çıktı: Merhaba, Ali! dikdortgen_alani fonksiyonu, genişlik ve yükseklik parametreleri alır ve dikdörtgenin alanını hesaplar.dikdortgen_alani(4, 5) çağrıldığında, alan 20 olarak hesaplanır. def dikdortgen_alani(genislik, yukseklik): return genislik * yukseklik # Fonksiyonu çağırma alan = dikdortgen_alani(4, 5) print("Dikdörtgenin Alanı:", alan) # Çıktı: Dikdörtgenin Alanı: 20 Sayının tek mi çift mi olduğunu kontrol eden programı fonksiyonlarla yazınız. def sayi_kontrol(sayi): if sayi % 2 == 0: return "Sayı çift." else: return "Sayı tek." # Fonksiyonu çağırma print(sayi_kontrol(4)) # Çıktı: Sayı çift. print(sayi_kontrol(3)) # Çıktı: Sayı tek. Öğrencinin notu 50 veya üzeri ise «Geçtiniz» değilse «Kaldınız» yazan programı fonksiyonlarla yazınız. def not_kontrol(not_): if not_ >= 50: return "Geçtiniz." else: return "Kaldınız." # Fonksiyonu çağırma print(not_kontrol(70)) # Çıktı: Geçtiniz. print(not_kontrol(45)) # Çıktı: Kaldınız. Python programlama dilinde, kullanıcıdan iki sayı alarak toplama ve çıkarma işlemleri yapabilen bir hesap makinesi fonksiyonu yazın. Bu fonksiyon aşağıdaki özellikleri içermelidir: Kullanıcıdan bir işlem seçmesi için bir menü gösterin: 1 ile toplama, 2 ile çıkarma, 3 ile programdan çıkış. Kullanıcı 1 veya 2 seçeneğini seçtiğinde, iki sayı girmesini isteyin ve seçilen işleme göre sonucu ekrana yazdırın. Kullanıcı 3 seçeneğini seçtiğinde, "Çıkış yapılıyor." mesajı yazdırarak programdan çıkın. Kullanıcının geçersiz bir seçim yapması durumunda, "Geçersiz seçim. Lütfen tekrar deneyin." mesajı ile kullanıcıyı bilgilendirin. Program, kullanıcı "çıkış" seçeneğini seçene kadar sürekli çalışmalıdır. def hesap_makinesi(): while True: print("\nHesap Makinesi") print("1: Topla") print("2: Çıkar") print("3: Çıkış") secim = input("Seçiminizi yapın: ") if secim == '1': a = int(input("Birinci sayıyı girin: ")) b = int(input("İkinci sayıyı girin: ")) print("Sonuç:", a + b) elif secim == '2': a = int(input("Birinci sayıyı girin: ")) b = int(input("İkinci sayıyı girin: ")) print("Sonuç:", a - b) elif secim == '3': print("Çıkış yapılıyor.") break else: print("Geçersiz seçim. Lütfen tekrar deneyin.") # Fonksiyonu çağırma hesap_makinesi() kullanıcıdan bir sayı alarak o sayının pozitif çarpanlarını listeleyen bir program yazalım. (continue ifadesi, döngünün o anki iterasyonunu sonlandırır ve döngünün başına geri döner.) def carpani_bul(sayi): print(str(sayi) + " sayısının pozitif çarpanları:") for i in range(1, sayi + 1): if sayi % i == 0: print(i) def carpana_bulucu(): while True: sayi = int(input("Bir pozitif sayı girin (-1 ile çıkın): ")) if sayi == -1: print("Çıkış yapılıyor.") break if sayi hedef_sayi: print("Daha düşük bir sayı tahmin edin.") else: print("Tebrikler! Doğru tahmin ettiniz.") break # Fonksiyonu çağırma tahmin_oyunu() Python programlama dilinde, bir kişinin yaşını hesaplayan bir fonksiyon yazın. Bu fonksiyon, doğum yılı parametresi almalı ve 2024 yılına göre yaş hesaplamalıdır. Ardından, bu fonksiyonu kullanarak üç kişinin yaşını hesaplayın ve sonuçları ekrana yazdırın. Aşağıdaki kişilerin doğum yıllarını kullanın: Çınar: 2017 Ada: 2010 Sena: 1999 def yasHesapla(dogumYili): return 2024 - dogumYili ageCinar = yasHesapla(2017) ageAda = yasHesapla(2010) ageSena = yasHesapla(1999) print(ageCinar, ageAda, ageSena) hesaplanan yaş bilgisine göre emekliğe kalan süre hesabını da hesaplayınız. def yasHesapla(dogumYili): return 2024 - dogumYili def EmekliligeKacYilKaldi(dogumYili, isim): yas = yasHesapla(dogumYili) emeklilik = 65 - yas if emeklilik > 0: print('Emekliliğinize ' + str(emeklilik) + ' yıl kaldı') else: print('Zaten emekli oldunuz') EmekliligeKacYilKaldi(1983, 'Ali') EmekliligeKacYilKaldi(1950, 'Ahmet') EmekliligeKacYilKaldi(1974, 'Yağmur') while True: elektrik = input("Elektrik var mı? (evet/hayır): ") if elektrik == "evet": fis = input("Bilgisayar fişe takılı mı? (evet/hayır): ") if fis == "evet": dugme = input("Açma düğmesine bastınız mı? (evet/hayır): ") if dugme == "evet": sigorta = input("Sigorta atmış mı? (evet/hayır): ") if sigorta == "evet": print("Şalteri kontrol edin.") break else: print("Teknik servise başvurun.") break else: print("Düğmesine basın.") else: print("Bilgisayarı fişe takın.") else: print("Öncelikle elektrik bağlantınızı kontrol edin.") break Katılımınız için teşekkürler.

Use Quizgecko on...
Browser
Browser