Bilgisayar Programlamasına ve Veri Analizine Giriş - IV Erkay Savaş Sabancı Üniversitesi Lise Yaz Okulu.
Download ReportTranscript Bilgisayar Programlamasına ve Veri Analizine Giriş - IV Erkay Savaş Sabancı Üniversitesi Lise Yaz Okulu.
Bilgisayar Programlamasına ve Veri Analizine Giriş - IV Erkay Savaş Sabancı Üniversitesi Lise Yaz Okulu 2015
Modül 4 için Planımız
• • Karakter Dizileri (Strings) Operatörler (Operators) 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 2
Strings
• Python’da string veri tipini kabaca karakter dizisi olarak tarif edilebiliriz • >>> ad1 = 'ceyda' String tipini, tek, çift, ya da >>> ad2 = "ilayda" üçlü alıntı simgesi >>> ad3 = '''cem''' kullanarak oluşturabiliriz >>> print "Merhaba" , ad1, ad2, ad3 Merhaba ceyda ilayda cem 27.04.2020
>>> Sabancı Üniversitesi Lise Yaz Okulu 3
Üçlü Tırnak
• Üçlü tırnak simgesi ( ''' ) kullandığımızda, bir string veri tipi, kaçış karakteri kullanmadan yeni satırlara geçebilir >>> print ceyda ilayda ve Cem.
'''Merhaba Hos Geldiniz!''' Merhaba ceyda ilayda ve Cem.
Hos Geldiniz!
>>> 27.04.2020
>>> print "Merhaba SyntaxError: EOL while scanning string literal >>> Sabancı Üniversitesi Lise Yaz Okulu 4
Tek Tırnak
• • Tek tırnak, çift tırnağın içerisinde kullanılabilir.
Örnek: cumle = "Erkay 'Sabanci Üniversitesine hoş geldiniz!' dedi." print cumle 'Sabanci Üniversitesine hoş geldiniz!' dedi.
>>> 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 5
Tek Tırnak İçinde Tek Tırnak
cumle = 'Erkay 'Sabanci Universitesi'ne hoş geldiniz!' dedi.' print cumle Bu çalışır mı?
cumle = 'Erkay \'Sabanci Universitesi\'ne hoş geldiniz!\' dedi.' print cumle Ya bu?
27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 6
Operatörler (İşlemler)
• • Bu işlemde 4 + 2 = 6 olarak hesaplanır “4” ve “2” operand; “+” ise operatördür 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 7
Aritmetik İşlemler – 1/3
*
İşlem
+ / %
Tanım
Toplama Çıkarma Çarpma Bölme Modül alma işlemi
Örnek
a + b a-b a*b b/a b%a a = 10 ve b = 20 olsun 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 8
Aritmetik İşlemler – 2/3
İşlem Tanım
** Üs alma işlemi // == Taban bölmesi (bölümü hesaplar) İki değer birbirine eşit mi diye kontrol eder != <> İki değer birbirinden farklı mı diye kontrol eder İki değer birbirinden farklı mı diye kontrol eder
Örnek
2**4 9//2 ve 9.0//2.0
(a==b) (a!=b) (a<>b) 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 9
Aritmetik İşlemler – 3/3
<
İşlem Tanım
> >= Büyük mü karşılaştırması Küçük mü karşılaştırması
Örnek
(a>b) (a=b) <= Küçük ya da eşit mi karşılaştırması (a<=b) http://www.tutorialspoint.com/python/python_basic_operators.htm
27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 10
• • • • c += a – c = c + a c -= a – c = c-a c *= a – c = c*a c /= a – c = c/a
Havalı Yazım Şekilleri
27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 11
Üs Alma ve Modül İşlemler
>>> >>> >>> 9 >>> 25 >>> 5.0
>>> 125 a=3 b=2 a**b 5**2 25**0.5
5**3 >>> 625 5**4 >>> 1 >>> 2 16%5 18%4 >>> 0 30%2 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 12
Karşılaştırma İşlemleri
Eğer operanlar eşit ise T rue Aksi halde False >>> 3==4 False >>> 3==3 True >>> "python" == "pon" False >>> True "python" == "python" Eğer operanlar eşit değil ise T rue Aksi halde False >>> True 3!=4 >>> False 3!=3 >>> True "python" != "pon" >>> "python" != "python" False 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 13
Karşılaştırma İşlemleri
Eğer a, b’den büyükse True Aksi halde False Eğer a, b’den küçükse Aksi halde 27.04.2020
False True >>> True 5>4 >>> False 4>4 >>> True 4>=4 >>> True 3<4 >>> 4<4 False >>> 4<=4 True Sabancı Üniversitesi Lise Yaz Okulu Eğer a, b’den büyük ya da eşit ise True Aksi halde False Eğer a, b’den küçük ya da eşit ise True Aksi halde False 14
Bugunün Tarihini Nasıl Buluruz?
• • • Bunun için Python’da kullanılabilsin diye yazılmış modüller var.
Modül bunu ve benzer diğer fonksiyonları kullanımınızı sağlar Örnek: “datetime” isimli modülü – Kullanmak için import anahtar kelimesini kullanırız.
import datetime t = datetime.date.today() >>> 2015-07-06 3 >>> print print t t.day
27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 15
Örnekler
import datetime dy = int ( raw_input ( "Dogum yilinizi giriniz: " )) t = datetime.date.today() yas = t.year-dy print "%d yasindasin" %yas >>> Dogum yilinizi giriniz: 1990 25 yasindasin >>> http://www.tutorialspoint.com/python/python_date_time.htm
27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 16
Örnekler
• Girilen bir sayının tek mi çift mi olduğunu bulan bir program yazalım: sayi = int ( raw_input ( "Bir sayi giriniz: ")) if sayi%2 == 0: print "Girdiginiz sayi %d, bir cift tam sayidir" %sayi else : >>> print "Girdiginiz sayi %d, bir tek tam sayidir" Bir sayi giriniz: 5 %sayi Girdiginiz sayi 5, bir tek tam sayidir >>> Bir sayi giriniz: 20 Girdiginiz sayi 20, bir cift tam sayidir >>> 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 17
Mantıksal İşlemler
• • Bit değerleri üzerindeki işlemler DEĞİL(NOT) Örnek – a = 60 ve b = 13 olsun –
a ~a
İkili tabanda yazalım • a = 0011 1100 ve b = 0000 1101 olur
0011 1100 1100 0011
VEYA (OR) işlemi Dışlamalı VEYA (XOR)
a b a&b
VE (AND) işlemi
0011 1100 0000 1101 0000 1100 a b a|b 0011 1100 0000 1101 0011 1101 a b a^b 0011 1100 0000 1101 0011 0001
27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 18
Kaydırma (Shift) İşlemleri
• • • • Yine bitler üzerindeki işlemlerdir Örnek – a = 60 ve b = 13 olsun – İkili tabanda yazalım • a = 0011 1100 ve b = 0000 1101 olur a = a >> 1 b = b << 2 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 19
İşlemlerin Öncelikleri
İşlem
() ** ~x *, /, % +, ^ | >>, << & <, <=, >, >=, <>, !=, ==
Tanımı
Parantez, işlemleri gruplar Üs alma işlemi Değil Çarpma, bölme, kalan Toplama, çıkarma Kaydırma Mantıksal VE Mantıksal XOR Mantıksal VEYA Karşılaştırmalar 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 20
a = 20 b = 10 c = 15 d = 5 e = 0 e = (a + b) * c / d #( 30 * 15 ) / 5 print "Value of (a + b) * c / d is " , e e = ((a + b) * c) / d # (30 * 15 ) / 5 print "Value of ((a + b) * c) / d is " , e
İşlemlerin Öncelikleri
>>> Value of (a + b) * c / d is 90 Value of ((a + b) * c) / d is 90 Value of (a + b) * (c / d) is 90 Value of a + (b * c) / d is 50 >>> e = (a + b) * (c / d); # (30) * (15/5) print "Value of (a + b) * (c / d) is " , e e = a + (b * c) / d; # 20 + (150/5 ) print "Value of a + (b * c) / d is " , e 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 21
İşlemlerin Öncelikleri
• • Öncelik genelde soldan-sağa doğrudur >>> 5*2//3 3 >>> 5 * (2 // 3) 0 İstisna >>> 2 ** 3 ** 2 , 512 >>> (2**3)**2 64 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 22
String İşlemleri
• Bir “string” değişkeninin uzunluğunu bulmak isteyebiliriz.
• • Bunun için “ len ()” fonksiyonunu kullanırız Örnek: >>> cumle = "Sabanci Universitesi'ne hoş geldiniz!“ >>> U = len (cumle) >>> print "Cumlenin uzunlugu %d karakterdir" %U Cumlenin uzunlugu 37 karakterdir >>> 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 23
String İçindeki Karakterlere Erişmek
• • String içindeki karakterlerin indeksleri vardır.
Örnek: >>> isim = "ilayda"
0123 4 5
>>> print len (isim) 6 >>> print isim[4] d 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 24
String İçindeki Karakterlere Erişmek
>>> isim = "Erkay Savas" >>> print isim[6:12] Savas >>> print isim[5:12] Savas >>> print isim[6:12:2] Svs >>> print isim[:] Erkay Savas >>> print isim[::-1] savaS yakrE >>> 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 25
Palindromlar
• • Yazılışları tersten ve düzden aynı olan cümleler Örnek: >>> p = "ey edip adanada pide ye" >>> print p ey edip adanada pide ye >>> print p[::-1] ey edip adanada pide ye >>> 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 26
Stringleri Birleştirmek
• • Karakter dizilerinin “+” ya da “,” işaretleriyle birleştirebiliriz Örnek: >>> print "Sabanci" + "Universitesi" SabanciUniversitesi >>> print "Sabanci" , "Universitesi" Sabanci Universitesi >>> 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 27
String Üzerindeki İşlemler
• • String değişkenler üzerinde farklı işlemler yapabiliriz Örnek: >>> dil = “python" >>> print dil*10 pythonpythonpythonpythonpythonpythonpython >>> 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 28
Örnekler
>>> "ton" *2 'tonton' >>> "x"* 30 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' >>> word= "-" >>> word*30 '------------------------------' 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 29
Küçük Ödev
• Ekrana alt ve üst kenarları “-” ile, yan kenarları “|” ile oluşturulan, ölçüleri a ve b olarak kullanıcı tarafından girilen bir dikdörtgen çizebilir misiniz?
27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 30
Çözüm
yan_kenar = '|' kenar = '-' bosluk = ' ' a = 10 b = 5 # uzunluk # yukseklik iki_kenar = yan_kenar + (a-2)*bosluk + yan_kenar print a*kenar for i in print range (1,b-1): iki_kenar print a*kenar 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 31
Üyelik (Membership) İşlemleri
>>> >>> word= "hello" "h" in word True >>> "k" in word False >>> False "h" not in word >>> True "k" not in word in operatörü üyelik durumunu sorgular ve True ya da False döndürür not in operatörü tersini yapar 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 32
Ödev
• • • • • Programınız sizden doğum tarihinizi gün-ay-yıl olarak girmenizi isteyecek Önce bugünün tarihini gün-ay-yıl olarak bastıracak Daha sonra sizin kaç yıl, kaç ay ve kaç gün yaşadığınızı hesaplayıp ekrana bastıracak.
Kolaylık olsun diye her yıl 365 gün, hey ay da 30 gün çeksin. Bonus: artık yılı ve ayların farklı sayıda gün olduğunu hesaba katın.
27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 36
Bugünün tarihini almak için
import datetime t = datetime.date.today() yil = t.year
ay = t.month
gun = t.day
27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 37
Örnek
>>> Dogum tarihinizi, GG-AA-YYYY seklinde, giriniz: 04-08-2000 Bugunun tarihi: 29-6-2015 25 gun, 10 ay ve 14 yil yasamissiniz >>> Dogum tarihinizi, GG-AA-YYYY seklinde, giriniz: 01-08-2015 Bugunun tarihi: 29-6-2015 Daha dogmadiniz ki!
>>> 27.04.2020
Sabancı Üniversitesi Lise Yaz Okulu 38