Bilgisayar Programlamasına ve Veri Analizine Giriş - V Erkay Savaş Sabancı Üniversitesi Lise Yaz Okulu.

Download Report

Transcript Bilgisayar Programlamasına ve Veri Analizine Giriş - V Erkay Savaş Sabancı Üniversitesi Lise Yaz Okulu.

Bilgisayar Programlamasına ve
Veri Analizine Giriş - V
Erkay Savaş
Sabancı Üniversitesi
Lise Yaz Okulu
2015
Modül 5 için Planımız
•
•
•
•
Fonksiyonlar
Fonksiyonların Özellikler
Fonksiyonları Çağırmak
Fonksiyonların Argümanları/Girdileri
06.11.2015
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ı yazarak,
çağırabiliriz
• Fonksiyon çalışır ve girdileri kullanarak bir takım
hesaplar yapar ve bir veya birden fazla sonuç
döndürür
• Bundan sonra, fonksiyon programınızda çağrılmış
olduğu yere geri döner
06.11.2015
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.
06.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
4
Bir Fonksiyon Yazmak
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
06.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
5
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.14, 2, 7)
06.11.2015
>>>
(94.2, 28.259999999999998, 150.72,
141.29999999999998)
(251.20000000000002, 50.24, 351.68,
502.40000000000003)
(87.92, 12.56, 113.04, 87.92)
>>>
Sabancı Üniversitesi Lise Yaz Okulu
6
Geri Dönen Değerlere Tek 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, t_alan, top_alan, hacim) = Silindir(3.14, 3, 5)
print y_alan, t_alan, top_alan, hacim
>>>
94.2 28.26 150.72 141.3
06.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
7
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
06.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
8
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
06.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
9
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)
06.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
10
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.259999999999998, 150.72, 141.29999999999998)
Dairenin alani, Cevresi: (28.259999999999998, 18.84)
>>>
06.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
11
Ödev
• Ölçü sistemleri arasında iki taraflı çevirme işlemleri
için fonksiyonların olduğu bir modüle yazınız:
–
–
–
–
–
–
–
06.11.2015
Santigrad ve Fahrenheit
Mil ve kilometre
İnch ve santrimetre,
Foot ve santimetre
Yard ve metre,
Galon ve litre
Litre ve mililitre
Sabancı Üniversitesi Lise Yaz Okulu
12