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

Download Report

Transcript 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