BLP 4210 PLATFORM BAIMSIZ PROGRAMLAMA Dr Asl Ergn
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA Dr. Aslı Ergün 1 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Python Dil Özellikleri Değişkenler Giriş Çıkış Aritmetiksael Mantıksal İfadeler Karar Yapıları Döngü Yapıları 2 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Yorum Ve Açıklama • # işareti kullanarak acıklam ayapabilirsiniz: • # Program Adı: fact. py • # işaretini bazı komutları geçici olarak saklamak içinde kullanabilirsiniz. • #!/usr/bin/python #Linux • #! python #windows • # Program Tanım • print "Hello, Python!"; # komut acıklama 3 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Değişkenler • Bir değeri tutan isimlere değişken denir. • Değişken adları bir sayı ile başlayamaz. • Değişken adları aritmetik işaretle başlayamaz. • Değişken adları ya bir alfabe harfiyle ya da _ isaretiyle başlar. • Sorun yaşamamak için değişken adlarında türkce karakter kullanılmaz • Program komut kelimeleri kullanılmaz. 4 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Ekrana Yazmak • Print komutu ile ekrana yazarız. >>> print ("Hello, Python! "); Test. py: • #! python • print ("Hello, Python! "); 11/5/2020 5 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Print • • Print (“bunları ekrana yazar”); toplam=23; Print(“toplam= “, toplam) Print ile ekrana yazarken: 1. Tek tırnak (‘ ‘) 2. Çift tırnak (” ”) 3. Üç tırnak (“”” “””) kullanabilirsiniz. 6 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Temel Veri Türleri • Sayılar (int, long, float) • Sözcükler (string, char) • Mantık(True, False) • Tür değişimi: • Sayi = int("12"); 11/5/2020 7 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Pythonda Klavyeden Veri Girisi • • • 2. Sayi girisi: x = input("Bir Sayi girin: ") print "input =", x veya x = int(input("Bir Sayi girin: ")) print "input =", x 8 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Escape –Kaçış Karakterleri • print(“ortalama n “) 9 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Karşılaştırmalar • • • == Eşittir != Eşit Değil < Kucuktur > Buyuktur <= Kucuk Eşit >= Buyuk eşit. 10 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Operatörler Operatör Türü Sembol Üs alma ** Çarpma, bölme, , mod alma, tamsayı bölme *, /, %, // Toplama, Çıkarma +, - Bileşik operatörler += , *=, -=, /= Karşılaştırma ==, !=, > , <, >=, <= Mantık Bağlaçları And, or , not Atama = 11 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Operatörlerin aritmetiksel ve sözcük kullanımları • + işlemi sayı değişkenlerinde toplama , sözcük değişkenlerinde yanyana yazma demektir. • >>>X=3 >>> A="3" • >>>Y=6 >>> B="6" • >>>print(X+Y) >>>print(A+B) • >>>9 >>> 36 11/5/2020 12 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Kontrol Yapıları • Karar Yapıları: – İf / else – switch • Döngü Yapıları: – For – while 11/5/2020 13 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
If veya if-else • if<şartlar>: komutlar • if <şartlar>: komutlar else: komutlar Burada kontrol kelimesinin altından içten boşluk vererek yazıp, kod bloğunu belirtmek lazımdır. x=4 if x == 5: print("Eşit") if x > 5: print("Büyük") else: print("Değil") 14 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Hazır Kütüphaneler • import ile kütüphane dahil edebiliriz. Örneğin matematik kütüphanesini şu şekilde kullanabiliriz. import math alan = int(input ("Alanı girin")) if alan >0 : yaricap = math. sqrt(alan /math. pi) print ("Yarıçap = ", yaricap) else: print("Pozitif sayı girin") 11/5/2020 15 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
İf-else must be a Boolean expression sayi 1 = int(input("İlk sayıyı girin")) sayi 2 = int(input("İkinci sayıyı girin")) if sayi 1 > sayi 2: maximum = sayi 1 minimum = sayi 2 else: maximum = sayi 2 minimum = sayi 1 print("Maximum =", maximum) print("Minimum =", minimum) 16 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
• if <şartlar>: komutlar else: komutlar İf-elif-else sayisalnot = int(input("Sayısal not girin")) if sayisalnot > 89: harf = 'A' elif sayisalnot > 79: harf = 'B' elif sayisalnot > 69: harf = 'C' elif sayisalnot > 59: harf = 'D' else: harf = 'F' print("Notun harf karşılığı =" , harf) 17 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Mantık Baglaçları >>> A= True >>> B=False >>> A and B False >>> A or B True >>> not A False sayisalnot = int(input("Sayısal not girin")) if sayisalnot >100 or sayisalnot <0 : print("Notlar 0 -100 aralığında olmalıdır") else: if sayisalnot > 89: harf = 'A' elif sayisalnot > 79: harf = 'B' elif sayisalnot > 69: harf = 'C' elif sayisalnot > 59: harf = 'D' else: harf = 'F' print("Notun harf karşılığı =" , harf) 18 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Python Veri Tipleri Veri Tipi integer float Açıklama ve Örnekler tamsayı, 32 bit, ± 2147483647 64 bit çift duyarlı, 1. 23 veya 7. 8 e-28 gibi long integer complex uzun tamsayı, 234187626348292917 L, 7 L 3 + 4 j or 1. 23 – 0. 0073 j gibi gerçek ve sanal parçalardan oluşur. string ‘veya “işaretleri arasında karakterler list nesne grupları. örn: [1, 22, [321, ’ali’], ’veli’] dictionary sozluk = {“elma” : “meyve”, “domates” : “sebze”, 1 : “sayi”} tuples listeyle benzer yapıda ama içerik sabit. (‘hen’, ’duck’, (‘rabbit’, ’hare’), ’dog’, ’cat’) file 1 = open(‘data. 01′, ’r’); data = file 1. read() gibi disk dosyaları 19 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Karakter Dizileri • Harf yada harf gruplarını içerir. txt="merhaba" print txt • Eğer sayıyı karaktere dönüştürmek istersek: Sayi=5 txt="Sayı değişkeninin değeri "+str(Sayi) Print(txt) • Bir tamsayıyı karakter dönüştürmek için: chr(x) kullanabiliriz. 11/5/2020 20 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Python Diziler • Birden fazla veri tipini içinde barındıran türemiş veri türüdür. Liste(Lists) ve Demet(Tuple) olarak iki farklı kullanımı vardır. 21 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Listeler • a = ['sema', 'erol', ‘veli', ‘ayse’ ] • b= [40, 23, 100, 234] • Sıfırıncı eleman ilk, -1 eleman son eleman olarak algılanır. • >>> print(a[0]) • >>> sema • >>> print(a[1]) • >>> erol • >>> print(a[-1]) • >>> ayse 22 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Dizilerde İşlemler • Değere ulaşıp değiştirebiliriz: b[2] = b[2] + 23 • Karakterleri birleştirebiliriz: >>> bosluk = " " >>> print " Asli " + bosluk + " Ergun" • >>> Asli Ergun 11/5/2020 23 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Dizilerde İşlemler b= [40, 23, 100, 234] b[0: 2] = [1, 12] # aralıkta değer değiştirme print a[0: 2] #ilk karakterden 2. ye kadar yaz print a[: 3] #baştan 3. ye kadar yaz print a[1: ] #1. indexten sona kadar yaz print a[2: 10: 2] #2. den 10. ya, 2şer atlatarak yaz • print a[: : 3] #baştan sona 3’er atlatarak yaz • • • 11/5/2020 24 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Dizilerde İşlemler • b= [40, 23, 100, 234] • print a[: : -1] #terste yazdır • b[0: 2] = [] #aralıkta silme • a[1: 1] = [8, 77] #ekleme • a[: ] = [] #dizi temizleme • len(a) #dizi boy al • c="platform bağımsız programlama" • prina c. capitalize() #ilk harf büyük harf yaz • print c. title() #cümlenin ilk harfleri büyük • print b. upper() ve print b. lower() #hepsi büyük veya küçük 11/5/2020 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr 25
İçiçe listeler • Listeler bazen iç içe olabilir: >>> q = [2, 3] >>> p = [1, q, 4] >>> p[1] [2, 3] >>> p[0] >>>list_of_lists = [ [1, 2, 3], [4, 5, 6], [7, 8, 9]] • Veya farklı veri tipi barındırabilir: liste 1= ["Ahmet", "Ayse", 15, 200, 3. 5] 26 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Döngüler- FOR Döngüsü • FOR Döngüsü: For <değişken> in <aralık>: a = ['kedi', 'kurt', 'aslan'] for x in a: print (x, len(x) ) string = "Merhaba Dünya!" for x in string: print x for x in range(0, 3): print (x) Eğer adım sayısı koymak istersek: for x in range(0, 2): print (x) 27 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Dizi Boyuna göre Döngü • meyveler = ['elma', 'muz', 'portakal', 'armut'] for index in range(len(meyveler)): prina(meyveler[index]) 11/5/2020 28 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
FOR Döngüsü : Attırmalar 29 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
2'nin "üssü" Sayıları yazalım: 11/5/2020 30 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Asal Sayı Bulan Algoritma for n in range(2, 10): for x in range(2, n): if n % x == 0: print (n, x, "tam bölünür") break else: # Asal Sayı bulur print n, ‘asal sayıdır'. . . 31 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Faktoriyel Hesabı 32 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
İç İçe Döngüler for x in range(1, 11): for y in range(1, 11): print ('%d * %d = %d' % (x, y, x*y)) 11/5/2020 33 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
İç İçe Döngüler- Çarpanları Bulma for num in range(10, 20): # 10 ila 20 arasindaki sayilar için for i in range(2, num): # sayi çarpanlarını bul if num%i == 0: # İlk çarpanı belirler j=num/i # ikinci çarpanı belirler print ('%d esittir %d * %d' , num, i, j ) break # Bir sonraki numaraya gecmek icin else: # else dongunun bir parcasi print (num, ' bir asal sayidir') 11/5/2020 34 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Rasgele Sayı Türetme 35 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Sayı Bulma Oyunu 36 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
For Döngüsünde Dizi Kullanımı • for x in a[: ]: if x < 0: a. remove(x) • words = ['cat', 'window', 'defenestrate'] for w in words: print w, len(w) 37 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
While Döngüsü • • • # Fibonacci series: # ilk 2 eleman toplamı 3. verir a, b = 0, 1 while b < 10: print b a, b = b, a+b 38 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
• while 39 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
For-while karşılastırması 40 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Break Komutu 11/5/2020 41 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Continue Komutu 11/5/2020 42 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
CONTINUE BREAK CONTINUE for val in "platform free": if val == "f": break print(val) print("The end") for val in "platform free": if val == "f": continue print(val) print("The end") 43 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Döngü Kesme 44 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
45 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Karekök Bulan Optimizasyon Algoritması 46 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
- Slides: 46