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

Download Report

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

Bilgisayar Programlamasına ve
Veri Analizine Giriş - VI
Erkay Savaş
Sabancı Üniversitesi
Lise Yaz Okulu
2015
Modül 6 için Planımız
• Liste tipi değişkenler
• Sözlük (Dictionary) tipi değişkenler
07.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
2
Liste Tipi Değişkenler
•
•
•
•
Birden fazla değeri tek bir değişkende tutabiliriz.
Bu değişken tipine “list” adı verilir.
Değerler arasında “,” karakteri vardır, bir de [] kullanırız
Örnek:
liste1 = [0,2,3,4,5]
liste2 = ['a', 'b', 'c', 'd']
liste3 = ["fizik", "kimya", "biyoloji", "tarih", "cografya", "turkce"]
• Listelerin elemanlarına sıra numaralarını kullanarak
erişebiliriz
• Örnek:
– print liste1[1], liste2[0], liste3[2]
– 2 a biyoloji
07.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
3
Liste Tipi Değişkenler
• Listelerde erişime kolaylık sağlayan bir şey de Python’un
listelerde geriden saymaya başlayabilmesidir.
• Örnek:
liste3 = ["fizik", "kimya", "biyoloji", "tarih", "cografya", "turkce"]
print liste3[0]
print liste3[-1]
print liste3[-2]
print liste3[-3]
07.11.2015
>>>
fizik
turkce
cografya
tarih
>>>
Sabancı Üniversitesi Lise Yaz Okulu
4
Listeye Eleman Eklemek
• Listelerin içine elementler append() fonskiyonu ile
atılır.
• Elementler del fonksiyonu ile listeden silinebilir.
• Örnek
liste3 = ["fizik", "kimya", "biyoloji", "tarih", "cografya", "turkce"]
print liste3[-1]
>>>
liste3.append(“matematik") turkce
matematik
print liste3[-1]
turkce
del liste3[-1]
>>>
print liste3[-1]
07.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
5
Liste Elemanlarına Döngü ile Erişebiliriz
Örnek:
liste3 = ["fizik", "kimya", "biyoloji", "tarih", "cografya",
"turkce"]
for ders in liste3:
print ders
>>>
fizik
kimya
biyoloji
tarih
Cografya
turkce
>>>
07.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
6
Listeler Üzerinde İşlemler
Örnek:
liste3 = ["fizik", "kimya", "biyoloji", "tarih", "cografya",
"turkce"]
print liste3[::-1]
print liste3[2:4]
>>>
['turkce', 'cografya', 'tarih', 'biyoloji', 'kimya', 'fizik']
['biyoloji', 'tarih']
>>>
07.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
7
Listeler Üzerinde İşlemler
Örnek:
liste3 = ["fizik", "kimya", "biyoloji", "tarih", "cografya",
"turkce"]
print liste3[0][0]
print liste3[-1][-1]
>>>
f
e
>>>
07.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
8
split() Fonksiyonu
• Bu fonksiyon bir cümleyi bırakılan boşluklara göre
parçalara ayırıp bir liste oluşturur.
• Örnek
cumle = "Akilli adam aklini kullanir daha akilli adam
baskalarinin da aklini kullanir "
listem = cumle.split()
print listem
>>>
['Akilli', 'adam', 'aklini', 'kullanir', 'daha', 'akilli', 'adam',
'baskalarinin', 'da', 'aklini', 'kullanir']
>>>
07.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
9
join() Fonksiyonu
• split() fonksiyonunun tam tersini yapar,
– bir listenin içindeki elementleri verilen parametre ile
birleştirip cümle kurar.
• Örnek
cumle = "Akilli adam aklini kullanir daha akilli adam
baskalarinin da aklini kullanir “
Akilli adam aklini kullanir daha akilli
listem = cumle.split()
adam baskalarinin da aklini kullanir
print " ".join(listem)
Akilli,adam,aklini,kullanir,daha,akilli,a
print ",".join(listem)
dam,baskalarinin,da,aklini,kullanir
print "".join(listem)
Akilliadamaklinikullanirdahaakilliada
mbaskalarinindaaklinikullanir
07.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
10
Sözlük (Dictionary) Veri Tipi
• Listelere çok benzerler ama her değere belli bir ‘key’,
yani anahtar atanır. Bu sözlüklerin içinde değer
aramayı çok kolaylaştırır
• Örnek:
gunler = {'Pazartesi': 0, 'Sali':1, 'Carsamba':2, 'Persembe':3,
'Cuma':4, 'Cumartesi': 5, 'Pazar':6}
print gunler['Pazartesi']
print gunler['Cumartesi']
07.11.2015
>>>
0
5
>>>
Sabancı Üniversitesi Lise Yaz Okulu
11
Sözlük (Dictionary) Veri Tipi
gunler = {'Pazartesi': 'Monday', 'Sali':'Tuesday',
'Carsamba':'Wednesday', 'Persembe':'Thusday',
'Cuma':'Friday', 'Cumartesi': 'Saturday',
'Pazar':‘Sunday'}
print gunler['Pazartesi']
print gunler['Cumartesi']
>>>
Monday
Saturday
>>>
07.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
12
Ödev: Sezar’ın şifresi
• Kullanıcıdan 1 ile 25 arasında bir tam sayı girmesini
isteyiniz.
– Bu sizin anahtarınız olacak. Bunu k değişkeninde tutalım
• Daha sonra bir mesaj girmesini isteyiniz.
• Her harfi sayısal bir değeri olsun (ör: A0, B1, …)
– Anahtarı kullanarak, mesajın harflerini tek tek şifreleyeniz.
– Şifrelemek için her harfi, k sonraki harf ile değiştirelim.
• k sonraki harfin sayısal değeri 25’dan büyük ise, 26
ile modül alın
• Boşlukları ve noktalama işaretlerini şifrelemeyin
• Kolaylık olsun diye küçük harfle çalışabilirsiniz.
07.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
13
Örnek
>>>
Anahtari girin: 0
Mesajinizi girin: erkay
Sifreli Mesaj: erkay
>>>
Anahtari girin: 1
Mesajinizi girin: erkay
Sifreli Mesaj: fslbz
>>>
07.11.2015
>>>
Anahtari girin: 2
Mesajinizi girin: erkay savas
Sifreli Mesaj: gtmca ucxcu
>>>
Anahtari girin: 4
Mesajinizi girin: saldirin!
Sifreli Mesaj: wephmvmr!
>>>
Sabancı Üniversitesi Lise Yaz Okulu
14
İpucu
• Dictionary tipi değişken kullanabilirsiniz
alfabe ={'a':0, 'b':1, 'c':2, 'd':3, 'e':4, 'f':5, 'g':6, 'h':7, 'i':8,
'j':9, 'k':10, 'l':11, 'm':12, 'n':13, 'o':14, 'p':15, 'q':16,
'r':17, 's':18, 't':19, 'u':20, 'v':21, 'w':22, 'x':23, 'y':24,
'z':25}
ters_alfabe = {0:'a', 1:'b', 2:'c', 3:'d', 4:'e', 5:'f', 6:'g',
7:'h', 8:'i', 9:'j', 10:'k', 11:'l', 12:'m', 13:'n', 14:'o',
15:'p', 16:'q', 17:'r', 18:'s', 19:'t', 20:'u', 21:'v', 22:'w',
23:'x', 24:'y', 25:'z'}
07.11.2015
Sabancı Üniversitesi Lise Yaz Okulu
15