Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Bilgisayar Programlamasına ve Veri Analizine Giriş - VI

Benzer bir sunumlar


... konulu sunumlar: "Bilgisayar Programlamasına ve Veri Analizine Giriş - VI"— Sunum transkripti:

1 Bilgisayar Programlamasına ve Veri Analizine Giriş - VI
Hüsnü Yenigün Sabancı Üniversitesi Lise Yaz Okulu 2016

2 Sabancı Üniversitesi Lise Yaz Okulu
Modül 6 için Planımız Liste tipi değişkenler Sözlük (Dictionary) tipi değişkenler Sabancı Üniversitesi Lise Yaz Okulu

3 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 print liste1[1], liste2[0], liste3[2] 2 a biyoloji Sabancı Üniversitesi Lise Yaz Okulu

4 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] >>> fizik turkce cografya tarih Sabancı Üniversitesi Lise Yaz Okulu

5 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") del liste3[-1] >>> turkce matematik Sabancı Üniversitesi Lise Yaz Okulu

6 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 Sabancı Üniversitesi Lise Yaz Okulu

7 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'] Sabancı Üniversitesi Lise Yaz Okulu

8 Listeler Üzerinde İşlemler
Örnek: liste3 = ["fizik", "kimya", "biyoloji", "tarih", "cografya", "turkce"] print liste3[0][0] print liste3[-1][-1] >>> f e Sabancı Üniversitesi Lise Yaz Okulu

9 Sabancı Üniversitesi Lise Yaz Okulu
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'] Sabancı Üniversitesi Lise Yaz Okulu

10 Sabancı Üniversitesi Lise Yaz Okulu
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 “ listem = cumle.split() print " ".join(listem) print ",".join(listem) print "".join(listem) Akilli adam aklini kullanir daha akilli adam baskalarinin da aklini kullanir Akilli,adam,aklini,kullanir,daha,akilli,a dam,baskalarinin,da,aklini,kullanir Akilliadamaklinikullanirdahaakilliadambaskalarinindaaklinikullanir Sabancı Üniversitesi Lise Yaz Okulu

11 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'] maks = max(gunler, key=gunler.get) print maks gunler[maks] >>> 5 Pazar 6 Sabancı Üniversitesi Lise Yaz Okulu

12 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 Sabancı Üniversitesi Lise Yaz Okulu

13 Sabancı Üniversitesi Lise Yaz Okulu
Sezar’ın şifresi Arkadaşımız ile şifreli bir şekilde konuşmak istediğimizi varsayalım: Açık mesaj: husnu hoca cok sert Şifreli mesaj: kxvqx krfd frn vhuw Sezar (Gaius Julius Caesar) gizli mesajlarini bu şekilde şifreleyerek gönderirdi asıl harf a b c d e f g h i j k l m n o p q r s t u v w x y z k=3 (anahtar) a b c d e f g h i j k l m n o p q r s t u v w x y z şifreli harf Sabancı Üniversitesi Lise Yaz Okulu

14 Sabancı Üniversitesi Lise Yaz Okulu
Sezar’ın şifresi Anahtar (k) olarak 1 ile 25 arasında herhangi bir değer kullanılabilir. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 a b c d e f g h i j k l m n o p q r s t u v w x y z k=3 a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 a b c d e f g h i j k l m n o p q r s t u v w x y z k=9 a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Sabancı Üniversitesi Lise Yaz Okulu

15 Sabancı Üniversitesi Lise Yaz Okulu
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. Sabancı Üniversitesi Lise Yaz Okulu

16 Sabancı Üniversitesi Lise Yaz Okulu
Örnek >>> Anahtari girin: 0 Mesajinizi girin: sabanci Sifreli Mesaj: sabanci Anahtari girin: 1 Sifreli Mesaj: tbcbodj >>> Anahtari girin: 2 Mesajinizi girin: sabanci univ Sifreli Mesaj: ucdcpek wpkx Anahtari girin: 4 Mesajinizi girin: saldirin! Sifreli Mesaj: wephmvmr! Sabancı Üniversitesi Lise Yaz Okulu

17 Sabancı Üniversitesi Lise Yaz Okulu
İ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'} Sabancı Üniversitesi Lise Yaz Okulu

18 Sabancı Üniversitesi Lise Yaz Okulu
Sezar Şifresi Kodu 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'} k = int(raw_input("Anahtari girin: ")) mesaj = raw_input("Mesajinizi girin: ") Sabancı Üniversitesi Lise Yaz Okulu

19 Sabancı Üniversitesi Lise Yaz Okulu
Sezar Şifresi Kodu sifreli_mesaj = '' for karakter in mesaj: if karakter not in alfabe: sifreli_mesaj += karakter else: pozisyon = alfabe[karakter] pozisyon = (pozisyon+k)%26 sifreli_mesaj += ters_alfabe[pozisyon] print "Sifreli Mesaj: ", sifreli_mesaj Sabancı Üniversitesi Lise Yaz Okulu

20 Sezar Şifresi Çözme Yarışması
KURALLAR Size Sezar şifresi kullanılarak elde edilmiş şifreli bir mesaj vereceğiz. Asıl mesajı (şifresiz mesajı) ilk bulan yarışmayı kazanır. Asıl mesajı bulunca: Yanıma gelin (olduğunuz yerden söylemek yok) Sahnede asıl mesajın ne olduğunu yüksek sesle söyleyin Şifreli mesaj: nwkdhdtonwnakjqln Sabancı Üniversitesi Lise Yaz Okulu

21 Sezar Şifresi Çözme Yarışması
import sezar sifreli_mesaj = "nwkdhdtonwnakjqln" for k in range(1,26): desifre_mesaj = sezar.sifrele(sifreli_mesaj,k) print desifre_mesaj Sabancı Üniversitesi Lise Yaz Okulu


"Bilgisayar Programlamasına ve Veri Analizine Giriş - VI" indir ppt

Benzer bir sunumlar


Google Reklamları