BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA Dr. Aslı Ergün 1
Python Veri Tipleri Veri Tipi Açıklama ve Örnekler integer tamsayı,32 bit,± 2147483647 float 64 bit çift duyarlı, 1.23 veya 7.8e-28 gibi long integer uzun tamsayı,234187626348292917L, 7L complex 3 + 4j or 1.23 – 0.0073j 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 file1 = open(‘data.01′,’r’); data = file1.read() gibi disk dosyaları
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. 28.12.2018
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.
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
Dizilerde İşlemler Değere ulaşıp değiştirebiliriz: b[2] = b[2] + 23 Karakterleri birleştirebiliriz: >>> bosluk = " " >>> print " Asli " + bosluk + " Ergun" >>> Asli Ergun 28.12.2018
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 28.12.2018
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 28.12.2018
İç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: liste1= ["Ahmet", "Ayse", 15, 200, 3.5]
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, 20,2):
Dizi Boyuna göre Döngü meyveler = ['elma', 'muz', 'portakal', 'armut'] for index in range(len(meyveler)): prina(meyveler[index]) 28.12.2018
FOR Döngüsü : Attırmalar
2'nin "üssü" Sayıları yazalım: 28.12.2018
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' ...
Faktoriyel Hesabı
İç İçe Döngüler for x in range(1, 11): for y in range(1, 11): print ('%d * %d = %d' % (x, y, x*y)) 28.12.2018
İç İç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') 28.12.2018
Rasgele Sayı Türetme
Sayı Bulma Oyunu
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)
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
while
For-while karşılastırması
Break Komutu 28.12.2018
Continue Komutu 28.12.2018
CONTINUE BREAK CONTINUE for val in "platform free": if val == "f": break print(val) print("The end") CONTINUE for val in "platform free": if val == "f": continue print(val) print("The end")
Döngü Kesme
Karekök Bulan Optimizasyon Algoritması