Bilgisayar Programlamasna ve Veri Analizine Giri Sabanc niversitesi
Bilgisayar Programlamasına ve Veri Analizine Giriş Sabancı Üniversitesi Lise Yaz Okulu 2018 7. Ders
Modül 5 için Planımız • • Fonksiyonların Özellikler Fonksiyonları Çağırmak Fonksiyonların Argümanları/Girdileri 1. 12. 2020 Sabancı Üniversitesi Lise Yaz Okulu 2
Fonksiyon Nedir? • Fonksiyon belirli bir işi yapan kod parçasına denir • Fonksiyonun, genel olarak, girdileri bulunur • Fonksiyonun adını ve argümanlarını (girdilerini) yazarak, çağırabiliriz • Fonksiyon çalışır ve girdileri kullanarak bir takım hesaplar yapar ve bir veya birden fazla sonuç döndürür (çıktı) • Bundan sonra, fonksiyon programınızda çağrılmış olduğu yere geri döner 1. 12. 2020 Sabancı Üniversitesi Lise Yaz Okulu 3
Örnekler • print(), input(), len() daha önce görmüş olduğumuz fonksiyonlardır. • Örnek: >>> print("Merhaba Dunya!") Merhaba Dunya! >>> len("Merhaba Dunya!") 14 • İki örnekte de "Merhaba Dunya!" bu fonksiyonların argümanıdır. 1. 12. 2020 Sabancı Üniversitesi Lise Yaz Okulu 4
Kendi Fonksiyonumuzu Yazalım def Silindir_Hacim(pi_sayisi, r, h): Hacim = pi_sayisi*r*r*h return Hacim pi = float(input("Pi sayisi ne olsun? ")) yaricap = float(input("Silindirin yari capini giriniz: ")) yukseklik = float(input("Silindirin yuksekligini giriniz: ")) silindirin_hacmi = Silindir_Hacim(pi, yaricap, yukseklik) print("Silindirin hacmi = ", silindirin_hacmi) 1. 12. 2020 Sabancı Üniversitesi Lise Yaz Okulu 5
Kendi Fonksiyonumuzu Yazalım def Silindir(pi, r, h): Yan_Alan = 2*pi*r*h Taban_Alan = pi*r*r Toplam_Alan = Yan_Alan + 2*Taban_Alan Hacim = pi*r*r*h return Yan_Alan, Taban_Alan, Toplam_Alan, Hacim 1. 12. 2020 Sabancı Üniversitesi Lise Yaz Okulu 6
Bir Fonksiyonu Çağırmak def Silindir(pi, r, h): Yan_Alan = 2*pi*r*h Taban_Alan = pi*r*r Toplam_Alan = Yan_Alan + 2*Taban_Alan Hacim = pi*r*r*h return Yan_Alan, Taban_Alan, Toplam_Alan, Hacim print(Silindir(3. 14, 3, 5)) print(Silindir(3. 14, 4, 10)) print(Silindir(3. 1415, 4, 10)) 1. 12. 2020 >>> (94. 2, 28. 259999998, 150. 72, 141. 29999998) (251. 20000002, 50. 24, 351. 68, 502. 40000003) (251. 320000002, 50. 264, 351. 848, 502. 640000004) >>> Sabancı Üniversitesi Lise Yaz Okulu 7
Geri Dönen Değerlere Tek Ulaşmak def Silindir(pi, r, h): Yan_Alan = 2*pi*r*h Taban_Alan = pi*r*r Toplam_Alan = Yan_Alan + 2*Taban_Alan Hacim = pi*r*r*h return Yan_Alan, Taban_Alan, Toplam_Alan, Hacim (y_alan, top_alan, hacim) = Silindir(3. 14, 3, 5) print(y_alan, top_alan, hacim) >>> 94. 2 28. 26 150. 72 141. 3 1. 12. 2020 Sabancı Üniversitesi Lise Yaz Okulu 8
Fonksiyonlarımızı Modül Haline Getirebiliriz • Çok sık kullandığımız ve birbiriyle alakalı bir takım fonksiyonları “modül” haline getirip, daha sonra bunları kullanabiliriz. • Böylece fonksiyonlar programımızda kalabalık etmezler • Daha organize bir fonksiyon kütüphanesi oluşturabiliriz 1. 12. 2020 Sabancı Üniversitesi Lise Yaz Okulu 9
Modül Örneği • Geometri. py adını verdiğimiz bir dosyada iki fonksiyon tanımlıyoruz def Silindir(pi, r, h): Yan_Alan = 2*pi*r*h Taban_Alan = pi*r*r Toplam_Alan = Yan_Alan + 2*Taban_Alan Hacim = pi*r*r*h return Yan_Alan, Taban_Alan, Toplam_Alan, Hacim def Daire(pi, r): Alan = pi*r*r Cevre = 2*pi*r return Alan, Cevre 1. 12. 2020 Sabancı Üniversitesi Lise Yaz Okulu 10
Modüldeki Fonksiyonları Kullanmak • “Geometri. py” modülü içerisindeki fonksiyonları nasıl kullandığımızı bir örnekle açıklayalım • “geometri_ornekleri. py” adini verdiğimiz programdan Silindir ve Daire fonksiyonlarını kullanalım import Geometri print("Silindirin Yan alani, Taban alani, Toplam alani, Hacmi: ", Geometri. Silindir(3. 14, 3, 5)) print("Dairenin alani, Cevresi: ", Geometri. Daire(3. 14, 3)) 1. 12. 2020 Sabancı Üniversitesi Lise Yaz Okulu 11
Ve Sonuç import Geometri print("Silindirin Yan alani, Taban alani, Toplam alani, Hacmi: ", Geometri. Silindir(3. 14, 3, 5)) print("Dairenin alani, Cevresi: ", Geometri. Daire(3. 14, 3)) >>> Silindirin Yan alani, Taban alani, Toplam alani, Hacmi: (94. 2, 28. 259999998, 150. 72, 141. 29999998) Dairenin alani, Cevresi: (28. 259999998, 18. 84) >>> 1. 12. 2020 Sabancı Üniversitesi Lise Yaz Okulu 12
Ödev • Ölçü sistemleri arasında iki taraflı çevirme işlemleri için fonksiyonların olduğu bir modüle yazınız: • Sadece yeşil olanlar için • Bir program içinde hepsini deneyin – – – – 1. 12. 2020 Santigrad ve Fahrenheit Mil ve kilometre Inch ve santrimetre, Foot ve santimetre Yarda ve metre, Galon (ABD) ve litre Litre ve mililitre Sabancı Üniversitesi Lise Yaz Okulu 13
Bugunün Tarihini Nasıl Buluruz? • Bunun için Python’da hazır yazılmış modüller var. • Modül bunu ve benzer diğer fonksiyonları kullanmanızı sağlar • Modül isminden önce import anahtar kelimesini yazarız. Böylece o modülü program içinde kullanabiliriz • Örneğin “datetime” isimli modülü kullanmak için programın başında aşağıdakini yazmamız gerekir. import datetime Örnek kod: import datetime t = datetime. date. today() print(t. day) >>> 2017 -12 -05 5 >>>
Diğer Tarih İşlemleri - Detaylar import datetime t = datetime. date. today() gun = t. day ay = t. month yil = t. year t bir tarih değişkeni; üzerinde fonksiyonlar çalışabilir year yılı, month ayı, day ayın kaçıncı günü olduğunu integer olarak verir t 2 = datetime. today() print(t 2) t 2 de bir tarih değişkeni ama saati de tutuyor. Çıktıyı deneyip >>> görelim 2018 -07 -23 09: 59: 21. 085959 >>>
Diğer Tarih İşlemleri – İki Tarih Arasındaki Farkı Bulma • t 1 ve t 2 iki tarih (datetime) değişkeni olsun. • t 1 – t 2 ifadesi timedelta denilen bir tipten ifadedir. • Bunun üzerinde days fonksiyonunu çağırarak aradaki gün sayısını bulabiliriz. fark = t 1 – t 2 print(fark. days)
Örnek • Doğum yılını okuyup kaç yaşında olduğunu bulan bir program yazalım import datetime dy = int(input("Dogum yilinizi giriniz: ")) t = datetime. today() yas = t. year-dy print ("%d yasindasin" %yas) >>> Dogum yilinizi giriniz: 1990 28 yasindasin >>> http: //www. tutorialspoint. com/python_date_time. htm
Ödev • Programınız sizden doğum tarihinizi gün-ay-yıl olarak girmenizi isteyecek (yıl 4 hane) • Önce bugünün tarihini gün-ay-yıl olarak bastıracak (yıl 4 hane) • Sonra girilen doğum gününü gün-ay-yıl olarak bastıracak (yıl 4 hane) • Daha sonra sizin toplam kaç gündür yaşadığınızı hesaplayıp ekrana bastıracak. • Eğer girilen doğum günü bugünden sonra ise hata mesajı yazsın. • Eğer girilen doğum günü bugün ise ayrıca doğum günün kutlu olsun desin.
Örnek Çıktı 1 >>> Dogum tarihinizi, GG-AA-YYYY seklinde, giriniz: 17 -07 -2002 Bugunun tarihi: 24 -7 -2018 Dogum tarihi: 17 -7 -2002 7 gun, 0 ay ve 16 yil yasamissiniz 5847 gun yasamissiniz >>>
Örnek Çıktı 2 >>> Dogum tarihinizi, GG-AA-YYYY seklinde, giriniz: 06 -12 -2018 Bugunun tarihi: 24 -7 -2018 Dogum tarihi: 6 -12 -2018 Daha dogmadiniz ki! >>>
Örnek Çıktı 3 >>> Dogum tarihinizi, GG-AA-YYYY seklinde, giriniz: 24 -07 -2000 Bugunun tarihi: 24 -7 -2018 Dogum tarihi: 24 -7 -2000 6570 gun yasamissiniz Dogum gunun kutlu olsun >>>
- Slides: 21