THT DUYURU
Python Artificial Intelligence’da en çok kullanılan dildir ve gerekli dökümanların paylaşım alanlar burada paylaşılmaktadır.

Seçenekler

Her Yaştan İnsan için Python (Basit, Net ve Örnekli.)

ZuL-RaA - ait Kullanıcı Resmi (Avatar)
Moderatör
Üyelik tarihi:
12/2017
Nereden:
Seul
Mesajlar:
4.327
Konular:
287
Teşekkür (Etti):
725
Teşekkür (Aldı):
1360
Ticaret:
(0) %
31
3615
6 Gün önce
#1


Resim0 - Python

Neden Python

"Ya zaten öğrenmek için bunu seçtik, neden bir daha neden seçmemiz gerektiğimizi yazıyorsun ki?” dediğinizi duyar
gibiyim. Ama anlatmadan geçilmemesi gereken bir nokta bu.

İlk olarak son derece hamarattır. Bir çok alanda çalışabilir ve oldukça hızlıdır.
Ayrıca özgür / açık kaynak kodludur.
Onun sevilen bir diğer tarafı da öğrenmesi kolay!
Hadi yavaştan devam edelim...

Python Tarihi

Geliştirilmeye 1990 yılında Guido van Rossum (Hollandalı) tarafından Amsterdam'da başlanmıştır.
Adını sanılanın aksine bir yılandan değil Guido van Rossum’un çok sevdiği, Monty Python adlı altı kişilik bir İngiliz komedi grubunun Monty Python’s Flying Circus adlı gösterisinden almıştır.
Günümüzde Python Yazılım Vakfı çevresinde toplanan gönüllülerin çabalarıyla sürdürülmektedir.



Resim1 - Gösteri



Resim2 - Guido van Rossum

Yılan Meselesi

İsmini Piton yılanından almadığını, nerden aldığını söylemiştim. Bu arada Python İngilizce Piton demek.
Öğretilen kitaplarda ya da kaynaklarda pitona hep değinilir. Merak etmeyin! Python, piton değil. Isırmaz!

Öğrenmesi

Ne yazık ki insanlar olarak öğrenirken çoğu zaman sıkılırız. Ama sıkılmayacağınız dilden anlatacağım!
Belirli bir programa göre ilerlemek her zaman öğrenmek için iyidir. Kendinize çalışma saatleri ayarlayabilirsiniz.
Ya da bölüm bölüm öğrenebilirsiniz. Merak etmeyin, öğrenmesi kolay olduğu için rahatça öğreneceğiz.

Python'ı Edinmek

Haydi başlayalım. İlk adım her zaman ki gibi dili edinmek olacak. Sitesine girelim.

https://www.python.org



Resim3 - Site

İşaretlediğim yere tıklayarak indirme sayfasına gidelim.



Resim4 - Sürüm

Python, geliştirilmektedir. Bu nedenle birden fazla sürümü var tabi ki. Ben 3.7 üzerinden anlatacağım.
Resim deki gibi 3.7.0 ı bulup "Download" diyelim.



Resim5 - İndirilecekdosya

Ben Windows 10 da anlatım yapacağım için Windows sürümünü indiriyorum. Dosyayı indirip çift tık ile
çalıştıralım.



Resim6 - Kurulum Ekranı

"Customize İnstallation" diyelim.



Resim7 - Kurulum Ekranı 2

Bu şekilde ayarlayıp "Next" diyelim.



Resim8 - Kurulum Ekranı 3

Burayı da bu şekilde ayarlayıp "Install" diyelim... Kurulumu bekleyeceğiz, çok sürmez.



Resim9 - Kurulum Ekranı Bitiş

Evet, kurulum sizinde gördüğünüz gibi kısa süre de bitti. "Close" diyip çıkalım.

1-) Python Hakkında ve Genel Özellikler - https://www.turkhackteam.org/9273898-post1.html
2-) Basitçe Veri Tipleri ve Alıştırmalar - https://www.turkhackteam.org/9273900-post2.html
3-) Matematik - https://www.turkhackteam.org/9273901-post3.html
4-) Stringler (Karakter Dizileri) - https://www.turkhackteam.org/9273902-post4.html
5-) Listeler - https://www.turkhackteam.org/9273905-post5.html
6-) Demetler - https://www.turkhackteam.org/9273907-post6.html
7-) Sözlükler - https://www.turkhackteam.org/9273908-post7.html
8-) Fonksiyonlar - https://www.turkhackteam.org/9273910-post8.html
9-) Operatörler - https://www.turkhackteam.org/9273912-post9.html
10-) Koşullu Durumlar - https://www.turkhackteam.org/9273913-post10.html
11-) Döngüler - https://www.turkhackteam.org/9273917-post11.html
12-) Modüller - https://www.turkhackteam.org/9273919-post12.html
13-) Dosya İşlemleri - https://www.turkhackteam.org/9273921-post13.html
14-) Tam Haliyle print() - https://www.turkhackteam.org/9273921-post14.html
15-) Hatalar ve İstisnalar - https://www.turkhackteam.org/9273923-post15.html
16-) 2 Örnek Proje - https://www.turkhackteam.org/9273924-post16.html
---------------------
Kusurları Görmek İçin Kusursuz Giyinmelisin.


THT Cyber Star Hacking Eğitim Seti (Türkiye'de İlk! Ücretsiz)
Konu ZuL-RaA tarafından (3 Gün önce Saat 18:55 ) değiştirilmiştir.
'Suskun, KARA ALP Teşekkür etti.
ZuL-RaA - ait Kullanıcı Resmi (Avatar)
Moderatör
Üyelik tarihi:
12/2017
Nereden:
Seul
Mesajlar:
4.327
Konular:
287
Teşekkür (Etti):
725
Teşekkür (Aldı):
1360
Ticaret:
(0) %
6 Gün önce
#2


Veri Tipleri

Ne demek mi istiyorum veri tipi derken, hemen açıklayalım. Veri dediğimiz edinidiğimizdir, bilgidir.
Her veriye her işlem yapılamaz. Örneğin, a ile b yi toplarsak kaç eder? Matematik ile çözmeye çalışırsak
a ile b nin değerini bilmemiz gerekir. Örneğin a = 5, b = 1 gibi. Ancak normal olarak bakarsak a ile b
bir sayı değildir ve toplamaz. Yazıya matematik işlemi uygulamayız, sayıya da büyük küçük yazamayız.

İşte veri tipi dediğimiz şey de budur aslında. Bunların hepsi bir tiptir.

Değişken

Ortaokul Fen dersinde elektirik devrelerinde görmüşüzdür eminim bir çoğumuz "Değişken" kelimesini ilk defa.
Adı üzerinde değişken, her bir veri değişken olabilir çünkü değiştirilebilirler. Örneğin, bisikletinizi
garaja ayak dediğimiz parça üzerine de koyabilrsiniz, yere de yatırabilirsiniz veya tamircinin yaptığı gibi
ters çevirip de koyabilirsiniz. Bisiklet bu örnekte değişkendir çünkü değiştirebiliriz. Garaj ise bizim
programımızdır, çünkü bisikleti hep oraya koyuyoruz, ki değişkenide program işleyecektir.

Değişken, değiştirilebilir unutmayın

Örneğin ben size iki tane sayı söylüyorum ve bunları toplamanızı istiyorum.
Size “İlk sayı 7” dedim. Ardından “İkinci sayı 5” dedim. Siz de aklınızda tuttuğunuz sayıları toplayarak 12
buldunuz.

Şimdi size “İlk sayı 4” dedim. Artık zihninizdeki ilk sayıyı 7 e değil 4 e eşitlediniz. Ardından
“İkinci sayı 1.” dedim. Bu sefer aklınızdaki ikinci sayı değişkenini değiştirmiş olduk. Adı
üstünde “değişiyor” değil mi?

Bir örnek daha, size "Aklınızdan bir sayı tutun." dedim. Sizde tuttunuz. "Şimdi bırakın gitsin."
Değişken boşta olabilir



Resim10 - Değişken

Bakın, ilksayı ve ikincisayı yı ilk önce sırayla 7 ve 5 diye belirledik, sonra ise değiştirdik 4 ve 1 yaptık.
Değiştiler!

Veri Tiplerine Geri Dönüyoruz

"Of ne bitmez şey!" demeyin. Sadece 6 veri tipimiz var.

1. Numbers (Sayılar)
2. String (Karakter Dizileri)
3. List (Listeler)
4. Tuple (Demetler)
5. Dictionary (Sözlükler)
6. Kümeler

Kümelerin ingilizcesi pek kullanmaz o yüzden onu yazmadık. Ancak diğerlerininkini bilseniz iyi olur çok lazım
olacak. Sayılar ile giriş yapalım.

Sayılar

Sayılar 3 kısımdan oluştur. Tam sayılar (integer), ondalıklı sayılar (float) ve karmaşık (complex).
Karmaşık sayılara girmeyeceğiz. Tam sayılar (integer) ve ondalı sayılar (float) için hemen örnek yapalım.



Resim11 - Sayı tipi

Şimdi... İlk önce a adından bir değişken tanımladık. Değişken tanımlamak için eşittir "=" kullanırız.
a = 5 ve b = 7.94 . a tam sayıdır yani integer b ise ondalıklı sayıdır yani float. Ondalıklı sayıları Python
da nokta "." koyarak belirtiriz. Sayıları hep direkt yazarız.

Resimde ilk defa gördüğünüz diğer bir nokta ise "type(a)" yazmışız altına "int" diye, "type(b)" yazmışız altına
"float" diye yanıt almışız. Ben farklı bir yazılım kullandığım için böyle yazdı. Normal Python arayüzünde
"<class 'int'>" diye çıktı alırız. Type Türkçe tip demektir. type(a) diyince Python bunu "a nın tipi nedir?"
diye algılaldı ve bize değer döndü. "<class 'int'>" bu "sınıfı tam sayı (integer)" dır demek.
Daha sonra aynısını b için sorduk ve onun için de bize "<class 'float'>" "sınıfı ondalıklı sayı (float)" dır dedi.

type() fonksiyonu içine verilen değerin tipini döner.

Stringler

Gelelim Karakter Dizilerine. Harfler bir kodcu için altın değerinde. Bakın kodlarda harflerden oluşuyor.
3 farklı şekilde karakter dizisi tanımlayabiliriz.

'' bu birinci şekilde.
"" bu ikinci şekilde.
""" """ bu üçüncü şekilde.

Ama önce ekrana nasıl bir şey bastırıyoruz onu öğrenelim.
Genelde programlamaya girenlerde ekrana "Hello World!" merhaba dünya yazdırılır. Biz de öyle yapalım.



Resim12 - Print Tırnaklar

Resimde gördüğünüz gibi print() fonksiyonu ile ekrana 3 tırnak çeşidi ile de "Hello World!" diye bastırdık.

print() içine verilen veriyi ekrana yazdırmaya yarar.

Aslında 3 farklı tırnak çeşidi de çok fark etmiyor. Sadece bunu " " ve bunu """ """ bilelim. Birinci ile
istediğimizi ekrana bastırabiliriz. İkinci ile de aynı şeyi yapabiliriz tek farkı birinci ile satır atlayamayız,
ikinci ile bunu da yapabiliriz. Örneklere bakalım...



Resim13 - Tırnak Farkı

Gördüğünüz gibi çift tırnak ile satır atlayamıyoruz. 3 tane çift tırnak ile bunu yapabiliyoruz. Tabi satır
atlamanın farklı bir yolu daha var. Onu şimdilik atlıyoruz.

Python da veri tanımlamayı öğrenmiştik. Karakter dizisini (String) leri de nasıl tanımlıyoruz görelim.



Resim14 - Dizi Tanımlama

Bakın bu şekilde de karakter dizisi (String) tanımlıyoruz.

Peki bunları sayılarda olduğu gibi toplayabilir miyiz diyorsanız cevap biraz evet. Ne demek istiyorum görelim.



Resim15 - String Toplama

Bu şekilde yan yana geliyorlar. Matematikteki gibi 2 + 2 = 4 gibi değil 2 + 2 = 22 gibi .

Listeler

Listeleri iyi bir şekilde öğrenmemiz gerekiyor çünkü onlar bizim epeyce bir işimize yarayacak. Günlük hayatta
bir alışveriş listesi oluşturmuşuzdur hepimiz değil mi? Hadi bir tane daha oluşturalım...

Elma
Armut
Ekmek
Yoğurt

Listemizi oluşturduk. Miktar yazmadık onunla işimiz yok. Liste oluşturmak için her zaman olduğu gibi bir
değişken oluşturuyoruz. Değişken nasıl oluşturulur biliyoruz, isimini yazar eşittir koyar, sonra veriyi
yazarız. Listelerimizi köşeli parantez veya diğer adıyla kare parantez içine yazarız. Hadi yukarıdaki
listeyi Python listesine dönüştürelim!

liste1 = ["Elma", "Armut", "Ekmek", "Yoğurt"]

Listemize liste1 ismini verdik ve hemen değişken olduğu için eşittir koyduk. Sonra bu bir liste olacağı için
köşeli parantez içine listemizde bulunan alacaklarımızı yazdık. Alacaklarımız karakter dizisi olduğu için hepsini
tırnak içine koyduk. Birbirlerine karışmasın diye virgül (,) eklemeyi de unutmadık! Unutmayın virgülleri.

Liste içine sadece böyle karakter dizisi mi koyabiliriz derseniz hayır. Hemen tam sayı (integer) ve ondalıklı
sayı (float) da koyalım.

liste2 = ["Elma", "Armut", "Ekmek", "Yoğurt", 8, 0.12]

Alışveriş listesi üzerine düşünün! Listeler 'ye ne yapabiliriz? Aklınıza ne geliyorsa bir çoğunu Python 'daki
listelere de yapabiliriz. Bir tane daha bir şey ekleyebilir, bir şey çıkarabilir veya sıralayabiliriz.

Python da sıralamalar 0 dan başlar. Aşağı yukarı her programlama dilinde 0 dan başlar şöyle yani.

liste2 = ["Elma", "Armut", "Ekmek", "Yoğurt"]

liste2 nin Elma ögesi 0. sıradadır, Armut ögesi 1., Ekmek 2., Yoğurt 3. sıradadır. Bunu unutmayın, zaten o kadar
çok kullanacağız ki unutmaya vaktiniz olmayacak. Bir listeden istediğimiz elemanı şöyle bastırabiliriz.



Resim16 - Listeden Eleman Almak

Bakın, liste2 nin 1. elemmanı Armut. Çünkü 0 dan başlıyor sıralaması. Listenin ismi ve hemen ardından kare
parantez ile istediğimiz elemanı ekrana bastıralabiliriz.
Birde eleman değiştirmeyi görelim. Değişken tanımlar gibi aslında. Liste adı, hemen ardından köşeli parantez,
değiştireceğimiz elemanın sıra numarası değişken tanımlar gibi eşittir ve yeni değeri.



Resim18 - Eleman Değiştirme

İlk kodda listemizi tanımladık. Sonra göstermek amacıyla print() ile ekrana bastık. Daha sonra 0. elemanını
değiştirdik ve en son kanıtlamak için listeyi tekrar ekrana bastık.

Demetler (Tuples)

Aslında listelere çok benziyorlar ama bunları normal parantez içinde tanımlarız ve değiştiremeyiz. Şunu
diyebilirsiniz, değiştirilemeyen liste ne işimize yarar? Elbette yarıyor, birazdan göreceğimiz veri tipi olan
sözlüklerde (Dictionary) de işimize yarayacak. Hemen bir demet oluşturalım!

demet = (1,2,3,4,5,6,7,8,9,10)

Listelerde olduğu gibi demetlerde de istediğimiz elemanı ekrana bastıralabiliriz. Yapalım.



Resim17 - Demetlerden Eleman

Bu resimde izah edecek bir şey yok



Resim19 - Eleman Değişmez

Dememiş miydim demetlerde elamanlara dokunamazsınız, değişmezler diye ?

Sözlükler (Dictionaries)

Sözlüklere geldik... Eminim bir çoğumuz kesinlikle bir İngilizce ve Türkçe sözlük edinmiştik. Normal bir
Türkçe sözlükle en basit kullanımıyla önce kelimeyi buluruz, karşısındaki anlamına bakarız. Sözlükle işimiz
biter sonrasında . Python da sözlük oluşturmak için önce sözlüğümüze isim veririz, sonra her veri tipinde
olduğu gibi eşittir kullanırız ve süslü parantez açıp önce anahtarını sonra yazarız sonra iki nokta koyup
değeri yazarız. Bu şekilde anahtar ve değerlerimizi oluşturup, tekrar süslü parantez ile sözlüğümüzü kapatırız.

Anlatırken karmaşık gibi geldiyse bir sözlük oluşturup ne dediğimizi görelim.

sözlük = {"Bir": 1, "İki": 2, "Üç": 3, "Dört": 4, "Beş": 5}

İşte bir sözlük. Bir, İki, Üç, Dört, Beş anahtar, 1,2,3,4,5 ise değerdir.



Resim20 - Sözlük

Bakın, sözlüğe anahtarı verdik ve sonra o da değeri bize verdi. Sonra onu print() ile ekrana bastık.

Tam tersi olsa, değeri versek o bize anahtarı verir mi diye merak mı ediyorsunuz? Marketten bir şey satın
alırken parayı verirsiniz ürünü alırsınız değil mi? Para anahtar, ürün değerdir. Siz ona ürün verip para alabilir
misiniz? Hayır. Sözlükleri de böyle kulanamazsınız.

Kümeler

10. Sınıf Matematiğinden kümeleri bilen bilir. Unutanlar için hem hatırlatalım hem de daha görmeyen veya
bilmeyenler için biraz bahsedelim. Tabi ki bize yarayacak olan kısımdan.

Kümeler kesişebiliyordu birleşebiliyordu. Ayrıca bir kümenin içerisinde aynı eleman 2 kere olmuyordu. Bunları
hatırlıyoruz değil mi ? Harika ! işte burada da aynısı var. Hadi bakalım...

İlk olarak boş küme oluşturalım.

küme = ()

Sonra set() fonksiyonunun yardımıyla içine liste olarak elemanlarımızı verelim. Sonra doğrulamak için kümeyi
ekrana basalım.

küme = set(["Elma", "Armut", "Ekmek", "Yoğurt"])

print(küme)



Resim21 - Küme

Evet, olmuş

Kümeye eleman ekleyebilir miyiz diyorsanız ekleriz. Hemen ekleyelim.



Resim22 - Eleman Ekleme

Önce kümemizin ismini veriyor daha sonra .add yazarak bir parentez açıyor ve parantezin içine de kümeye
ekleyeceğimiz şeyi yazıyoruz. Ben kiraz ekledim.

Matematiğe geri dönüyoruz, bir kümeye aynı elemandan ekleyemeyiz. Python da aynı şekilde işliyor.



Resim23 - Aynı Eleman

Bakın tekrar Armut eklemek istedim ama eklemedi. Hata da dönmedi. Dönmezde. Unutmayın!
EĞER KÜMEYE DEĞİLDE LİSTEYE AYNI ELEMANI EKLEMEK İSTESEK EKLERDİ. Liste ve küme farklarından biri.

Evet. Şimdi listemizi bitirdik. Ne listesi diyorsanız, bu da bizim için bir listeydi:

1. Numbers (Sayılar)
2. String (Karakter Dizileri)
3. List (Listeler)
4. Tuple (Demetler)
5. Dictionary (Sözlükler)
6. Kümeler

Hayırlı olsun!

Alıştırmalar

1- Boyunu santimetre cinsinden yani integer , kilonu float olarak yani metre cinsinden değişken tanımla. Bu iki
değişkeni toplayarak ekrana yazdır. Hatırla! Float ve integer neydi ?

2- Mahalleninin ismini bir string olarak tanımla. Hatırla! String neydi ?

3- Bir tane alışveriş listesi hazırla. Liste olarak tanımla.

4- Yaşadın ülkeyi, ili, merkezi, mahalleyi ve sokağı bir demete tanımla.

5- Sevdiğin 3 kişinin isimleri ve tuttuğu takımlar olan bir sözlük oluştur.
Herhangi bir kişinin anahtarını girerek değeri ekranda yazdır.

6- İçerisinde 5 kişinin olduğu bir küme tanımla. Ardından bu kümeye 2 kişi daha add metoduyla ekle.

1-) Python Hakkında ve Genel Özellikler - https://www.turkhackteam.org/9273898-post1.html
2-) Basitçe Veri Tipleri ve Alıştırmalar - https://www.turkhackteam.org/9273900-post2.html
3-) Matematik - https://www.turkhackteam.org/9273901-post3.html
4-) Stringler (Karakter Dizileri) - https://www.turkhackteam.org/9273902-post4.html
5-) Listeler - https://www.turkhackteam.org/9273905-post5.html
6-) Demetler - https://www.turkhackteam.org/9273907-post6.html
7-) Sözlükler - https://www.turkhackteam.org/9273908-post7.html
8-) Fonksiyonlar - https://www.turkhackteam.org/9273910-post8.html
9-) Operatörler - https://www.turkhackteam.org/9273912-post9.html
10-) Koşullu Durumlar - https://www.turkhackteam.org/9273913-post10.html
11-) Döngüler - https://www.turkhackteam.org/9273917-post11.html
12-) Modüller - https://www.turkhackteam.org/9273919-post12.html
13-) Dosya İşlemleri - https://www.turkhackteam.org/9273921-post13.html
14-) Tam Haliyle print() - https://www.turkhackteam.org/9273921-post14.html
15-) Hatalar ve İstisnalar - https://www.turkhackteam.org/9273923-post15.html
16-) 2 Örnek Proje - https://www.turkhackteam.org/9273924-post16.html
---------------------
Kusurları Görmek İçin Kusursuz Giyinmelisin.


THT Cyber Star Hacking Eğitim Seti (Türkiye'de İlk! Ücretsiz)
Konu ZuL-RaA tarafından (3 Gün önce Saat 18:56 ) değiştirilmiştir.
ZuL-RaA - ait Kullanıcı Resmi (Avatar)
Moderatör
Üyelik tarihi:
12/2017
Nereden:
Seul
Mesajlar:
4.327
Konular:
287
Teşekkür (Etti):
725
Teşekkür (Aldı):
1360
Ticaret:
(0) %
6 Gün önce
#3


Öklid ile Matematiğe Giriş, Pardon Python İle



Resim24 - Matematik

Artı ( + ) ve ( - ) yi açıklamıyorum.

Python da çarpma işlemi olarak yıldız ( * ) kullanılır.

Bölme işlemi olarak ise iki tane eğik çizgi ( // ) kullanılır.

Ama iki eğik çizginin üzerinde tek bir tane eğik çizgi ( / ) kullanmışız. O ne dediğinizi duyuyor gibiyim.

Farkettiyseniz o da bölme işlemini yaptı. İki eğik çizgi ile ( // ) tek eğik çizginin ( / ) farkı tek eğik
çizgi ondalıklı olarak yani float olarak değer döndürür. Print ile sonuçları da ekrana bastık.

Unutmayın matematikte işlem önceliği ile Python daki işlem önceliği aynıdır. Hatırlayalım.

Parantez İçi
Üslü Sayılar - Kökler
Çarpma - Bölme
Toplama - Çıkarma

Birden fazla işlem var ise soldan sağa gidilir.

30 - (7 * 4) // 2

Önce parantez içi, sonra 2 ye bölüm en son 30 dan çıkarma. 28 / 2 = 14. 30 - 14 = 16.



Resim25 - İşlemler

Matematik güzel şey.



Resim26 - Örnek

İşlem önceliğiyle yaptık. Problem çözelim.

"Bir mobil oyunda, oyuncunun elde ettiği puan sahip olduğu altın sayısının 3 ile çarpımı, sahip
olduğu yiyecek miktarının 2 ile çarpımı ve sahip olduğu can sayısının 1000 ile çarpımının toplamı şeklinde
hesaplanıyor. 300 altını, 200 yiyeceği ve 3 canı olan bir oyuncunun kaç puanı vardır ?"

altın = 300
yiyecek = 200
can = 3
print((altın * 3) + (yiyecek * 2) + (can * 1000))



Resim27 - Problem Örneği

4300 puanı varmış. Allah bereket verin

Matematik her zaman 4 işlemden ibaret değil. Daha farklı konular var içinde. Her matematik işlemini yapamayız,
bazılarını da tek kodla yapamayız. Burada kütüphaneye gitmek gerekiyor ya da python da onları getiririz

Kütüphanelerin içinde fonksiyonlar var. Örneğin print(), type() ve set() bir fonksiyondur. Bakın bunlar ne kadar
işimize yarıyor. Şunu düşünsenize, ekrana yazı yazdırmak için onlarca kod yazmak gerekirse ne yapardık. Bizde
işimizi çok ve çok kolaylaştırmak için kütüphanelerin içindeki fonksiyonları kullanacağız. Başlayalım.

Öncellikle yuvarlamaları görelim. Ancak ondalıkları tam sayıya yuvarlayacağız.

import math

diyerek kütüphanemizi dahil edelim. Kullanacağımız fonksiyon ceil() fonksiyonu. Fonksinonu kullanmak için
önce onun bulunduğu kütüphane olan math kütüphanesinin ismini, sonra içinde olduğunu belirten nokta ( . )
daha sonra ise fonksiyonun adını yazıyoruz.



Resim28 - Ceil()

math.ceil() dedik ve kullandık. İçinde yuvarlayacağımız sayı geldi. Birde bunun bir farklı versiyonu var,
o ise floor().



Resim29 - floor()

Bakın aşağıya yuvarladı. Merak ediyorsanız ceil() in içine 2.000001 verseydik bile 3 e yuvarlar.



Resim30 - fmod()

fmod() fonksiyonu ise kalanı verir. İlk sayı bölünen, ikinci sayı ise bölendir.
30, 10 ve 5 e tam bölünürken 7 ye bölünmez. Kalanı ise bize verdi..



Resim31 - pow()

pow() fonksiyonu sayının üssünü bulmaya yarar. ilk sayı taban, ikinci sayı ise kuvvettir. Taba kuvvet kısaca.
2 nin 3. ve 5., 3 ün ise 3. kuvvetini bulduk.



Resim32 - sqrt()

sqrt() fonksiyonu elinizdeki sayının hangi sayının karesi olduğunu verir. Tek bir değer alıyor anlaşıldığı gibi.
İçine 9 verdik ve 3 ü verdi. Yani 3 ün karesi 9. 144 verdik 12 döndü yani 12 nin karesi 144. 5 net bir sayının
karesi değil. O yüzden öyle döndü. Ben bir kaç kare bırakayım size...

1 k 1, 2 k 4, 3 k 9, 4 k 16, 5 k 25, 6 k 36, 7 k 49, 8 k 64, 9 k 81, 10 k 100. (k, karesi demek.)



Resim33 - Pi ve e

Python da hazır olarak pi ve e var. Pi ve e nin değerini görüyoruz...
Bunlarda parantez yok anladığını gibi bunlar bir değer...

1-) Python Hakkında ve Genel Özellikler - https://www.turkhackteam.org/9273898-post1.html
2-) Basitçe Veri Tipleri ve Alıştırmalar - https://www.turkhackteam.org/9273900-post2.html
3-) Matematik - https://www.turkhackteam.org/9273901-post3.html
4-) Stringler (Karakter Dizileri) - https://www.turkhackteam.org/9273902-post4.html
5-) Listeler - https://www.turkhackteam.org/9273905-post5.html
6-) Demetler - https://www.turkhackteam.org/9273907-post6.html
7-) Sözlükler - https://www.turkhackteam.org/9273908-post7.html
8-) Fonksiyonlar - https://www.turkhackteam.org/9273910-post8.html
9-) Operatörler - https://www.turkhackteam.org/9273912-post9.html
10-) Koşullu Durumlar - https://www.turkhackteam.org/9273913-post10.html
11-) Döngüler - https://www.turkhackteam.org/9273917-post11.html
12-) Modüller - https://www.turkhackteam.org/9273919-post12.html
13-) Dosya İşlemleri - https://www.turkhackteam.org/9273921-post13.html
14-) Tam Haliyle print() - https://www.turkhackteam.org/9273921-post14.html
15-) Hatalar ve İstisnalar - https://www.turkhackteam.org/9273923-post15.html
16-) 2 Örnek Proje - https://www.turkhackteam.org/9273924-post16.html
---------------------
Kusurları Görmek İçin Kusursuz Giyinmelisin.


THT Cyber Star Hacking Eğitim Seti (Türkiye'de İlk! Ücretsiz)
Konu ZuL-RaA tarafından (3 Gün önce Saat 18:56 ) değiştirilmiştir.
ZuL-RaA - ait Kullanıcı Resmi (Avatar)
Moderatör
Üyelik tarihi:
12/2017
Nereden:
Seul
Mesajlar:
4.327
Konular:
287
Teşekkür (Etti):
725
Teşekkür (Aldı):
1360
Ticaret:
(0) %
6 Gün önce
#4


Stringler (Karakter Dizileri)

Evet, artık bir seviyeye kadar geldik. Şimdi önceden gördüğümüz karakter dizilerini yani string leri bu sefer
daha ileri seviye olarak göreceğiz. Endişelenmeyin Python kolaydır.

Toplama işlemi yapmıştık stringlerde. Aslında toplama olmadığını yan yana yazıldığını görmüştük
Peki çarparsak ?



Resim34 - string çarpımı

"Elbet bir gün buluşacağız." yazısını 10 ile çarpınca ekrana 10 kere yazıldı. Ne oldu? Sanki 10 ile çarpmışız
gibi 100 mü yazacaktı print() ile de ekrana bastık.

Şimdi stringler ile (Karakter Dizileri) ile işlemler yapacağız. Bir tane isim diye değişken oluşturup değer
verelim. String olması için ne gerekiyordu? Tabi ki "" (çift tırnak).

isim = "Atmaca"

Bildiğiniz gibi bir metindeki karakter sayısını bulma ve kelime sayısını bulma siteleri var. Bir çok metin
uygulamasında da var bu özellik. Word de dahil. Bizde karakter sayısı bulmayı görelim.



Resim35 - len()

len() fonksiyonu içine tek bir tane veri alır. isim değişkenini verdik, stringdeki karakter sayısını bize
verdi. Sonra direkt string (Karakter Dizisi) verdik onunda sayısını verdi. En son verdiğimiz listedki eleman
sayısını verdi. Eğer liste içinde string (Karakter Dizisi) olsaydı onu 1 diye sayar, unutmayın! Aynı alışveriş
listesindeki gibi.

Şimdi indis almayı görelim. İndis bir string (Karakter Dizisi) içindeki karakterlerin sıra numarasına denir.
Python da sıralama 0 dan başlar unutmayın!



Resim36 - İndis

Bakın, [] Köl parantez içine verdiğimiz indis ile bize o harfi veya rakamı döndü.

Atmaca | A 0, t 1, m 2, a 3, c 4, a 5.

Soldan sağa doğru gittik. Bunu tersten de yapabiliriz.



Resim37 - Ters indis

Ve bu şekilde - (eksi) şekilde değer vererek yapabiliyoruz. Unutmayın, bu sefer -1 den başlıyoruz.

Sadece 1 karakteri mi basabiliyoruz diye soranlar için ise cevabı verelim. Hayır! Hece veya istediğiniz kadar
karakter bastırabilirsiniz.



Resim38 - String Parçalama

Şimdi bu resimde birden fazla örnek var sırayla gidelim. String yani Karakter Dizisini parçalama da diyebiliriz
bu işleme.

isim[1:] de 1. karakterden sonraki tüm karakterleri al yaptık.

isim[2:] de 2. karakterden sonraki tüm karakterleri al yaptık.

isim[1:4] de 1. karakterden sonra 4. karaktere kadar al yaptık. 4 dahil değil.

isim[0:4] de 0. karakterden sonra 4. karaktere kadar al yaptık. 4 dahil değil.

isim[0:3] de 0. karakterden sonra 3. karaktere kadar al yaptık. 3 dahil değil.

Bu işlemleri tersten yapmak için ise - (eksi) kullanıyoruz.



Resim39 - Ters İşlem

Şimdi bir string (Karakter Dizisi) karakter dizisi içinde kaç tane aynı harf veya sayıdan var diye bakalım.



Resim40 - .count()

.count() fonksiyonu içine tek bir tane veri alır. isim.count("a") dediğimi zaman isim değişkeninin içinde
kaç tane "a" harfi var ekrana basıyor. Küçük büyük harf duyarlıdır. Ayrıca bu şekilde aynı heceden kaç tane var
diye de bakılabilir.



Resim41 - .upper() | .lower()

Bu isim.upper() kod ile isim değişkeninin her karakterini büyük harf yapabiliyoruz. isim.lower() ilede isim
değişkeninin her karakterini küçük harf yapabiliyoruz.



Resim42 - .startswith()

isim.startswith("A") ile isim değişkeninin ilk karakterinin büyük A olup olmadığını kontrol ediyoruz. Büyük
küçük harf duyarlıdır. Hece ile de başlayıp başlmadığı kontrol edilebilir. True başlıyor, False başlamıyor
diye değerlendirilebilir.

Gelelim, arama yöntemine. Bazen uzun bir string (Karakter Dizisi) içinde bir cümleyi vs. aramamız gerekebilir.



Resim43 - .index() ve .find()

isim.index("a") ve isim.find("b") dediğimizde aynı cevabı, 3 cevabını alıyoruz. Çünkü a
harfi ilk defa 3. indiste yer alıyor. Fakat "r" harfini arattığımızda isim.index("r") kodu hata
dönderirken isim.find("r") kodu -1 sonucunu dönderiyor.

Bunun sebebi şu. İndex fonksiyonu sadece harfin veya istenen ifadenin string içerisinde
olma durumunda çalışırken, find fonksiyonu harfin veya istenen ifadenin olmaması
durumunda da -1 değerini dönderiyor ve çalışıyor. Bu açıdan find , index e göre daha üstün
bir fonksiyon olarak görülebilir.



Resim44 - .replace()

Yeni bir değişken oluşturdum. şehir = "Angara" diye. Ama Resmi olarak Ankara dır adı. .replace() de bu işe
yarıyor. Değiştirmek! İçine iki veri alıyor. (Parametre diyoruz aslında.) İlki değiştirilecek karakter(ler)
ikincisi ne ile değiştirileceği. Sonra değişkenin orjinali ni de ekrana bastırdım. Bakın o değişmiyor.

Şöyle bir şey var, bu o string (Karakter Dizisi) içinde bulunan tüm g leri k yapar. Bunu engellemek için ise
şöyle de yazabiliriz. şehir.replace("Angara","Ankara")

Şöyle 3 fonksiyonumuz var;

isdigit() = Tamamı sayıdan oluşuyorsa true, eğer içinde harf varsa false cevabını verir.
isalpha() = Tamamı harften oluşuyorsa true, eğer içinde sayı varsa false cevabını verir.
isalnum() = İçinde harf veya sayılar varsa true cevabını verir.



Resim 45



Resim 46



Resim 47

Bakın. Sıra sıra hepsine fonksiyonları uyguladım.



Resim48 - Hata

Şöyle bir şey var. String (Karakter Dizisi) oluştururken aynı şekilde cümle içinde çift tırnak kullanmak
gerekebilir. Bu sebeple hata veriyor gördüğünüz gibi. String başlangıç ve bitiş tırnağı haricinde hata verecek
olan çift tırnakların önüne ters eğik çizgi koyarak hatayı çözebilirsiniz.

1-) Python Hakkında ve Genel Özellikler - https://www.turkhackteam.org/9273898-post1.html
2-) Basitçe Veri Tipleri ve Alıştırmalar - https://www.turkhackteam.org/9273900-post2.html
3-) Matematik - https://www.turkhackteam.org/9273901-post3.html
4-) Stringler (Karakter Dizileri) - https://www.turkhackteam.org/9273902-post4.html
5-) Listeler - https://www.turkhackteam.org/9273905-post5.html
6-) Demetler - https://www.turkhackteam.org/9273907-post6.html
7-) Sözlükler - https://www.turkhackteam.org/9273908-post7.html
8-) Fonksiyonlar - https://www.turkhackteam.org/9273910-post8.html
9-) Operatörler - https://www.turkhackteam.org/9273912-post9.html
10-) Koşullu Durumlar - https://www.turkhackteam.org/9273913-post10.html
11-) Döngüler - https://www.turkhackteam.org/9273917-post11.html
12-) Modüller - https://www.turkhackteam.org/9273919-post12.html
13-) Dosya İşlemleri - https://www.turkhackteam.org/9273921-post13.html
14-) Tam Haliyle print() - https://www.turkhackteam.org/9273921-post14.html
15-) Hatalar ve İstisnalar - https://www.turkhackteam.org/9273923-post15.html
16-) 2 Örnek Proje - https://www.turkhackteam.org/9273924-post16.html
---------------------
Kusurları Görmek İçin Kusursuz Giyinmelisin.


THT Cyber Star Hacking Eğitim Seti (Türkiye'de İlk! Ücretsiz)
Konu ZuL-RaA tarafından (3 Gün önce Saat 18:57 ) değiştirilmiştir.
ZuL-RaA - ait Kullanıcı Resmi (Avatar)
Moderatör
Üyelik tarihi:
12/2017
Nereden:
Seul
Mesajlar:
4.327
Konular:
287
Teşekkür (Etti):
725
Teşekkür (Aldı):
1360
Ticaret:
(0) %
6 Gün önce
#5


Listeler

Niye mi geri döndük? Çünkü şimdi listelere tamamen hakim olacağız.



Resim49 - Liste Oluşturma

İçinde veri olan bir listeyi daha önce de oluşturmuştuk. Boş liste oluşturmak için değişkene böyle [] atamak
işimize yarıyor. Ya da değişken oluşturup değer kısmına list() fonksiyonunu koyabiliriz. Ama list fonksiyonu
parametre -içine değer- almaz. Sonradan eklemek gerekir.



Resim50 - İndis Liste

İndisleri işlemiştik. Listelerde de oluyor aynı mantık. Sadece stringlerdeki karakter yerine listede ki
elemanlar o yeri alıyor.



Resim51 - Eleman Ekleme

.append ile listeye eleman ekleyebiliriz. İçine tek bir parametre alır.



Resim52 - Listede ki Elemanlar

Bazı fonksiyonları iç içe kullanabiliyoruz. Mesela bu örnekte olduğu gibi. meyve listesinin içinde elemanların
sayısını len() ile alıyoruz. Sonra print() ile ekrana basıyoruz.



Resim53 - Liste Birleştirme

+ ile iki listeyi birleştirebiliriz. En sonun da listeyi print() ile bastırdım type() ile tiğini ekrana bastım.
Sizde type() "<class 'list'>" dönebilir. Sorun yok aynı şey olduğunu zaten biliyorsunuz



Resim54 - Liste Çarpma

Kullanır mısınız bilmem ama bir listeyi bir sayı ile çarparak o listede ki elemanları sayı adedi kadar
arttırabilirsiniz. Eğer liste değil küme olsaydı aynı elemandan 2 tane ekleyemezdik değil mi? Liste yi
3 e katlayıp a diye değişken oluşturduk. Sonra içeriğini ve değerini ekrana bastık.



Resim55 - Listeden Eleman Alma

.pop ile indis ini parametre olarak vererek o elelamnı listeden kaldırabiliriz. Sayanora Kivi! (Japonca: Elveda)



Resim56 - Listedeki Elemanı Güncelleme

Değişken tanımlar gibi liste adını veriyor, sonra köşeli parantez açıp değişecek elemanın indisini daha sonra
eşittir koyup yeni elemanının değerini veriyoruz.



Resim57 - Liste Kopyalama

Bildiğiniz gibi sebze meyve neye göre ayrılıyor muhabbeti hala var. Bizde diyoruz ki "Benim için hepsi sebze,
kim değiştirecek?".

Liste içinde bir arama yapmamız gerekebilir. Bunun için uzun bir liste olması gerekiyor. Ben de direkt bir
string (Karakter Dizisi) ni önce listeye çevirdim. Bu şekilde çevirebiliriz.



Resim58 - string.split()

.split() içine bir tane parametre (veri) alıyor. Ben boş bıraktım ve bu şekilde ayırdı. Kelimelerden yani. Kendi
varsayılan parametresini kullandı.



Resim59 - \n Kaçış Dizisi

.split() ile bu şekilde boşluklardan yazdığım metni parçaladım. Şimdi farkettiyseniz burada \n var orada.
Normalde benim satır atladığım yere gelmiş. Kaçış dizisi adını verdiğimiz bunun gibi bir kaç ters eğik çizgi var.
Mesela bir tanesini yukarıda görmüştük. Çift tırnakların karışmaması için. Bu \n ile cümeleye satır
atlattırabiliriz. İlla 3 tane çift tırnak kullanmk gerekmiyor...



Resim60 - Kaçış Dizisi

Örnekte gördüğünüz gibi Bunu çok kullanıyoruz. Unutacağınızı sanmıyorum.

Şimdi bir string (Karakter Dizisi) i liste yaptık. Konuya geri dönelim bunun içinde nasıl bir kelimeyi aracağız.



Resim61 - Listede Arama

Bu resimde arama yaptık. Önce arayacağım kelimeyi ki kelime olduğu için string şeklinde yazdık sonra "in"
diyoruz ve en son nerede arayacağımızı söylüyoruz. Ancak bize kelimenin nerede olduğunu değil, bulunup (True)
bulunmadığını (False) döndürdü. Sonra arama sonucumuzu print() ile ekrana bastık.



Resim62 - .reverse()

Yavaştan listeleri bitiriyoruz. Şimdi elimizde olan listeyi ters çevirmemiz gerekirse .reverse() fonksiyonunu
kullanıyoruz. Resimdede gördüğünüz gibi orjinal listeyi terse çevirdi. print() ile li ekrana bastık.



Resim63 - min() ve max() fonksiyonu

Bu iki fonksiyonu adıdan anladınız sanırım Min minumum yani en küçük, max maksimum yani en büyük olanı
veriyor bize. İlk sayı listesinde minumum yani ve maksimum u print() ile ekrana yazdık.

Aynı şekilde stringlerde de kullanılıyor. Sözlük sırasına göre tabi ki.



Resim64 - sort()

.sort() fonksiyonu ile bir listeyi sıralayabiliriz. Stringler sözlüğe, sayılar sırasına göre...

Liste içi liste de yapabiliriz. Bunu şöyle düşünün; Manavdan alacağınız ayrı, kırtasiyeden alacağınız ayrı.



Resim65 - Liste ve Liste

Bakın onu da bu şekilde yapabiliyoruz. Bildiğimiz liste oluşturma ve birleştirme şeklinde liste. Hey! Liste
birleştirirken string gibi çift tırnak içine liste adını yazmayın. Çünkü listeler string değil değişkendir.
Unutmadığınız değil mi değikeni?

1-) Python Hakkında ve Genel Özellikler - https://www.turkhackteam.org/9273898-post1.html
2-) Basitçe Veri Tipleri ve Alıştırmalar - https://www.turkhackteam.org/9273900-post2.html
3-) Matematik - https://www.turkhackteam.org/9273901-post3.html
4-) Stringler (Karakter Dizileri) - https://www.turkhackteam.org/9273902-post4.html
5-) Listeler - https://www.turkhackteam.org/9273905-post5.html
6-) Demetler - https://www.turkhackteam.org/9273907-post6.html
7-) Sözlükler - https://www.turkhackteam.org/9273908-post7.html
8-) Fonksiyonlar - https://www.turkhackteam.org/9273910-post8.html
9-) Operatörler - https://www.turkhackteam.org/9273912-post9.html
10-) Koşullu Durumlar - https://www.turkhackteam.org/9273913-post10.html
11-) Döngüler - https://www.turkhackteam.org/9273917-post11.html
12-) Modüller - https://www.turkhackteam.org/9273919-post12.html
13-) Dosya İşlemleri - https://www.turkhackteam.org/9273921-post13.html
14-) Tam Haliyle print() - https://www.turkhackteam.org/9273921-post14.html
15-) Hatalar ve İstisnalar - https://www.turkhackteam.org/9273923-post15.html
16-) 2 Örnek Proje - https://www.turkhackteam.org/9273924-post16.html
---------------------
Kusurları Görmek İçin Kusursuz Giyinmelisin.


THT Cyber Star Hacking Eğitim Seti (Türkiye'de İlk! Ücretsiz)
Konu ZuL-RaA tarafından (3 Gün önce Saat 18:57 ) değiştirilmiştir.
ZuL-RaA - ait Kullanıcı Resmi (Avatar)
Moderatör
Üyelik tarihi:
12/2017
Nereden:
Seul
Mesajlar:
4.327
Konular:
287
Teşekkür (Etti):
725
Teşekkür (Aldı):
1360
Ticaret:
(0) %
6 Gün önce
#6


Demetler



Resim66 - Demet Oluşturma

Bildiğiniz gibi demetlerde listelere nazaran bir çok özellik yok. Niye tekrar işliyoruz derseniz bir kaç şeyden
bahsetmemiz gerekiyor. Ben bir demet oluşturdum. Unutmayın. Demetlerde listelerde olduğu gibi köşeli parantez
değil direkt parantez kullanılır. İçin boş parantez boş demettir. En son tipini gördük. Tuple yani demet.



Resim67 - Str ve Tuple

Şimdi demetin içine sadece bir tip veri koyarsak o demet olmuyor. Bakın type() kullanınca str döndü yani string.
Ama biz demet istiyoruz, nasıl olacak derseniz ufak bir virgül (,) koyarak. Bu onu demet yapar.



Resim68 - Demetten Eleman Alma

Demeti direkt ekrana bastırabildiğimiz gibi istediğimiz elemanın bastırılabilmesini de isteyebiliriz. Aynı
listelerde olduğu gibi [] köşeli parantez ve içine de istediğimiz elemanının indisi.



Resim69 - Demet İçi Liste

Bir demet içine iki liste verebiliyoruz bakın. Sayısı arttırılabilir. İçinde direkt eleman olan demette eleman
almk için köşeli parantez içine elemanın indisi veriliyordu. İçinde iki liste olunca ilk olarak veri almak
istediğimiz listeninin indisini köşeli parantez içine koyuyor sonra bir köşeli parantez daha açıp o listeden
almak istediğimiz elemanın indisi içine koyuyoruz.



Resim70 - .count()

Bir demet içindeki aynı elemandan kaç tane olduğunu .count() ile buluyoruz. İçine bir tane paremetre veriyoruz
o da tekrarı olduğunu düşündüğümüz string veya integer (Tam Sayı). Demeti çiçek demeti gibi düşünün. .count()
ile demetimizde kaç tane "Gül" var onu öğrendik.

Gül deyince aklıma o geldi. Bir kadının gülüşü makyajdan daha çekici gelir erkeğe...



Resim71 - Demetteki Eleman Sayısını Öğrenme

Bir demet içinde kaç tane eleman olduğunu yine len() ile öğrenebiliriz. len() içine demetimizin ismi olan
demet kelimesini verdik ve print() ile cevabını ekrana bastık.



Resim72 - .. in ..

Listelerde olduğu gibi demet içinde de bir elemanın var veya yok olduğuna bakabiliriz. Listedekine göre bir şey
değişmedi

Bildiğiniz gibi demet içinde değişim yapamadığımızı belirttik. Eleman ekleyemez ya da çıkaramayız.



Resim73 - Listeyi Demete Dönüştürme - tuple()

Bir listeyi tuple() fonksiyonu ile demet olarak kopyalayabiliriz. Unutmayın liste hala liste,
demet = tuple(liste) kodu demet ismine bir değişken oluşturdu. Bu değişkene liste değişkeninin elemanlarını
demet veri tipinde ekledi.

Demeyi unutmayayım. Sakurayı araştırın Seveceksiniz...

1-) Python Hakkında ve Genel Özellikler - https://www.turkhackteam.org/9273898-post1.html
2-) Basitçe Veri Tipleri ve Alıştırmalar - https://www.turkhackteam.org/9273900-post2.html
3-) Matematik - https://www.turkhackteam.org/9273901-post3.html
4-) Stringler (Karakter Dizileri) - https://www.turkhackteam.org/9273902-post4.html
5-) Listeler - https://www.turkhackteam.org/9273905-post5.html
6-) Demetler - https://www.turkhackteam.org/9273907-post6.html
7-) Sözlükler - https://www.turkhackteam.org/9273908-post7.html
8-) Fonksiyonlar - https://www.turkhackteam.org/9273910-post8.html
9-) Operatörler - https://www.turkhackteam.org/9273912-post9.html
10-) Koşullu Durumlar - https://www.turkhackteam.org/9273913-post10.html
11-) Döngüler - https://www.turkhackteam.org/9273917-post11.html
12-) Modüller - https://www.turkhackteam.org/9273919-post12.html
13-) Dosya İşlemleri - https://www.turkhackteam.org/9273921-post13.html
14-) Tam Haliyle print() - https://www.turkhackteam.org/9273921-post14.html
15-) Hatalar ve İstisnalar - https://www.turkhackteam.org/9273923-post15.html
16-) 2 Örnek Proje - https://www.turkhackteam.org/9273924-post16.html
---------------------
Kusurları Görmek İçin Kusursuz Giyinmelisin.


THT Cyber Star Hacking Eğitim Seti (Türkiye'de İlk! Ücretsiz)
Konu ZuL-RaA tarafından (3 Gün önce Saat 18:58 ) değiştirilmiştir.
ZuL-RaA - ait Kullanıcı Resmi (Avatar)
Moderatör
Üyelik tarihi:
12/2017
Nereden:
Seul
Mesajlar:
4.327
Konular:
287
Teşekkür (Etti):
725
Teşekkür (Aldı):
1360
Ticaret:
(0) %
6 Gün önce
#7


Sözlükler



Resim74 - Boş Sözlük

Bir değişken olarak sözlük tanımlamak için süslü parantez kullandığımızı söylemiştim. Bir tane tanımladık, boş
olmasına karşın ekrana bastım ve tipini de bastırdım.



Resim75 - Sözlük

Bir sözlüğün içini gördüğünüz gibi dolduruyoruz. Sözlükteki her eleman için bir anahtar (key) ve bir değer
(value) vardır. Anahtar yazılır, sonra iki nokta konup değeri yazılır. Sonra bir eleman daha konacaksa virgül
(,) atılır. Yine aynı şekilde yapılır. Unutmayın, süslü parantez olunca sözlük oluyor!

Ben öğrencileri ve notlarını yazmıştım. Hop Esra yı unuttuk. Hemen ekleyelim.



Resim76 - Sözlüğe Eleman Ekleme

Bir sözlüğe önce sözlük ismi, sonra köşeli parantez açıp içine de anahtarı (key) verip değişken tanımlar gibi
eşittir koyup sonra değeri veririz.
sözlüüğünismi[anahtar] = değer
Sözlüğün ilk halini ve son halini bastım ekrana.

Hay aksi! Salihin notunu yanlış girmişiz. 15 olacakmış. Halledelim hemen.



Resim77 - Eleman Güncelleme

Bir elemanı güncellemek için aynı ekler gibi yapıyoruz. Önce sözlük ismi, sonra köşeli parantez açıp içine de
anahtarı (key) verip değişken tanımlar gibi eşittir koyup sonra değeri veririz.

Yasin farklı sınıftaymış karışmış. Onu kaldıralım hemen.



Resim78 - Eleman Kaldırma - del

del ile sözlükten eleman kaldırdık. Kullanımı basit aslında. del diyoruz sözlük ismi köşeli parantez ve içine
de anahtarı verip kaldırıyoruz.

Diyelim bir öğrenci notunu sevmedi -ki bu Salih olacaktır- tüm listeyi sildi!



Resim79 - .clear()

Salih .clear() ile kaldırdı tüm notları. Sözlük ismi ve .clear() fonksiyonu ile tüm sözlük boşaltılabilir.
print() ilede ekrana bastık.



Resim80 - .pop()

Listelerde kullanmıştık bu fonksiyonu. Bir elemanı kaldırmak için bunu da kullanabiliriz. sözlük ismi ve .pop()
içine parametre olarak kaldırılacak elemanın anahtarını alıyor.



Resim81 - .popitem()

Bu fonksiyon yani diğer bir tabirle sözlüğün metodu şu şekilde kullanılıyor. sözlük ismi ve .popitem() içine
parametre almaz. Sözlükten rastgele bir elemanı kaldırıyor. Ne işimize yarar derseniz öğretmeni sevmiyorsanız
ona uğraş çıkarmış olursunuz



Resim82 - Sözlük Çoğaltma

Evet diğerlerindeki gibi yapılıyor. type() kullanma gereği duymadığım çünkü verdiği çıktı da zaten süslü parantez
kullanmış...



Resim83 - .keys() - .values() - .items()

En başta anahtar ve değerden bahsetmiştik. Sözlük ismi ve .keys() metodu bize sözlük içindeki anahtarları bir
liste içinde verir.

Sözlük ismi ve .values() metodu bize sözlük içindeki değerleri bir liste içinde verir.

Sözlük ismi ve .keys() metodu bize sözlük içindeki hem anahtarları hem değerleri bir liste içinde verir. Bu liste
içinde demet şeklinde o sözlüğün elemanları var görüldüğü gibi.



Resim84 - in

O kadar kullandık yine aynı şekilde... Aranacak değer, in ve aranacak yer. Cevabı görüldüğü gibi True ve False
şeklinde döndürüyor.

1-) Python Hakkında ve Genel Özellikler - https://www.turkhackteam.org/9273898-post1.html
2-) Basitçe Veri Tipleri ve Alıştırmalar - https://www.turkhackteam.org/9273900-post2.html
3-) Matematik - https://www.turkhackteam.org/9273901-post3.html
4-) Stringler (Karakter Dizileri) - https://www.turkhackteam.org/9273902-post4.html
5-) Listeler - https://www.turkhackteam.org/9273905-post5.html
6-) Demetler - https://www.turkhackteam.org/9273907-post6.html
7-) Sözlükler - https://www.turkhackteam.org/9273908-post7.html
8-) Fonksiyonlar - https://www.turkhackteam.org/9273910-post8.html
9-) Operatörler - https://www.turkhackteam.org/9273912-post9.html
10-) Koşullu Durumlar - https://www.turkhackteam.org/9273913-post10.html
11-) Döngüler - https://www.turkhackteam.org/9273917-post11.html
12-) Modüller - https://www.turkhackteam.org/9273919-post12.html
13-) Dosya İşlemleri - https://www.turkhackteam.org/9273921-post13.html
14-) Tam Haliyle print() - https://www.turkhackteam.org/9273921-post14.html
15-) Hatalar ve İstisnalar - https://www.turkhackteam.org/9273923-post15.html
16-) 2 Örnek Proje - https://www.turkhackteam.org/9273924-post16.html
---------------------
Kusurları Görmek İçin Kusursuz Giyinmelisin.


THT Cyber Star Hacking Eğitim Seti (Türkiye'de İlk! Ücretsiz)
Konu ZuL-RaA tarafından (3 Gün önce Saat 18:58 ) değiştirilmiştir.
ZuL-RaA - ait Kullanıcı Resmi (Avatar)
Moderatör
Üyelik tarihi:
12/2017
Nereden:
Seul
Mesajlar:
4.327
Konular:
287
Teşekkür (Etti):
725
Teşekkür (Aldı):
1360
Ticaret:
(0) %
6 Gün önce
#8


Fonksiyonlar

Fonksiyonlar adını çok duyuyorduk şimdi daha detaya ineceğiz. 10. Sınıf olanların aklıma matematik geldi...
Polinomlar falan. Aslında matematik ve programlama aynıdır. İkisi de genel olarak sabit değişmez.

Fonksiyonlardan bazılarını kullanmıştık şimdi sıra kendi fonksiyonumuzu tasarlama da Bu bilgiye sahipsiniz,
korkmayın... Başlıyoruz.

Öncellikle fonksiyon tanımlamak için İngilizcede tanımlamak anlamına gelen define kelimesinin kısatlası olan
"def" yazıyoruz sonra fonksiyonumuzun ismini, bir parantez açıp kapatıp iki nokta ekleyip altına da tab
atıyoruz sonra ise yapacağımız işlemi yazıyoruz. Unutmayın fonksiyonu çalıştırmak gerekir...



Resim85 - def

Bakın fonksiyonu yaptık ve birde onu çalıştırdık. Hatırlıyorsanız print() de bir fonksiyondu. Ve bizde kendi
fonksiyonumuzu () parantez ile çalıştırdık. Buna fonksiyon çağırma denir. Bir fonksiyon tanımlanınca çalışmaz.
Eğer öyle olsaydı durup dururken print() ve diğer tüm fonksiyonlar çalışırdı. Sadece type() çalışsa içine
parametre almadığı için hata verirdi



Resim86 - Tekrar

Fonksiyon çağırmak eğlenceli!



Resim87 - input()

Şimdi devam edebilmek için fonksiyonu ekrandan kaldırdım. Yeni bir fonksiyonu öğreneceğiz. Bu input() fonksiyonu.
Bu fonksiyon ile programı çalıştıran kişiden bir şey alabiliriz. Ben sayı istedim mesela. İçine bir tane
parametre alıyor bu parametre kullanıcıdan veri alırken yanında gösteriliyor. Bakın sayı gir dediğim yer altta
21 sayısını girdiğim yerde gösteriliyor. Sonra ekrana bastık. Aldığımız veriyi ise a değişkenine aktardım ki
kullanabileyim.

Hadi toplama fonksiyonu yazalım. Ne lazım bize, kullanıcıdan 2 sayı almak ve toplamı ekrana basmak. Bunu
fonksiyon ile yapalım...



Resim88 - int()

Şimdi resimdeki ilk fonksiyon bizim yaptığımız toplama fonksiyonumuz. Fark ettiyseniz int() diye bir şey var
orada. input() ile aldığımız her şey bize string (Karakter Dizisi) şeklinde geliyor. int() içine verilen veriyi
imkan varsa string den integer (Tam Sayı) a çevirir. Ve birinci toplama başarılı oldu.

Aşağıya bir fonksiyon daha ekledim, bakın o fonksiyonu. int() olmadan aynısı. Ama çıktıya bakın birinci ve
ikinci sayıyı yan yana yazmış. Stringlerde toplama geldi aklınıza değil mi? Evet o gelmeli çünkü ikincisi o.

Matematiğe geri dönüyoruz. Bir dairenin alanını hesaplayalım... Tabi ki fonksiyon ile.



Resim89 - float()

Resimde float() diye bir fonksiyon gördük. int() i görünce bu da alınan değeri float (Ondalıklı Sayı) yapıyor
diyorsanız doğrusunuz. Helal size. Dairenin alanı pi çarpı r karedir. Yani pi sayısını yarı çap çarpı yarı çap
çarpımı ile çarpıyoruz. Kullanıcıdan yarı çapı alıp fonksiyonumuzu yaptık.

Şimdik artık biraz daha ileri gidiyoruz. Biz print() fonksiyonunu içi boş mu kullanıyoruz? Hayır, içine bir
parametre veriyoruz değil mi? He, artık bizde öyle parametre verebileceğimiz fonksiyonu yapıyoruz şimdi.



Resim90 - Parametre

Ve bir parametre alan fonksiyon yazdık. Güzel değil mi? Sadece fonksiyon tanımlar gibi yapıyoruz ve parantezin
içine parametre olarak alacağımız neyse isim veriyoruz. Değiken gibi bir nevi. Ama fonksiyon dışında çalışmaz.
Bu input() gibi string almaz içine verileni. Neyse o türde.



Resim91 - İyi ki doğdun!

Az önce demiştim parametre için rastgele bir isim verebiliriz diye verdikte. Ben isim olarak isim dedim ve bir
doğum günü fonksiyonu yaptım. İyi ki doğdun bunu okuyan!

Fark ettiyseniz resimde print() in içine 2 değer verebildim. Birden fazla değer verilebilir. Şuna dikkat edin,
değerler arasında virgül (,) koymak gerekiyor.



Resim92 - Parametre Hatası

İçine parametre alan bir fonksiyona parametre vermezseniz bu şekilde hata döner.



Resim93 - Varsayılan Parametre

Şimdi parametre alan bir fonksiyona parametre vermezseniz hata döner biliyorsunuz. Bunu nasıl mı çözüyoruz?
Varsayılan parametre belirleyerek. Fonksiyonun parantezine bakarsanız orada sanki bir değişken tanımladık. Ama
sadece orada kullanılır o. Aynı fonksiyonu ilk çalıştırdığımda içine parametre olarak "Ahmet" i verdim. Ve
çalıştı. Aynı fonksiyonu boş çalıştırınca bu sefer varsayılan parametresini kullandı. Yani "Esra" yı.

Anlamadıysanız resimlere tekrar bakın ve yazdığımı tekrar okuyun. kesinlikle anlayacaksınız...



Resim94 - Ortalama

Bir şeyin ortalmasını bulmak için kaç tane veri varsa toplayıp veri sayısına böleriz. Resimde de aynen öyle
yaptık. Bir fonksiyon tanımladık ve içine 3 parametre almasını sağladık. Sonra uygun şekilde kullandık.
Dikkat çekmek isterim fonksiyonu çağırırken parametreler arasına virgül (,) koymayı unutmayın.
Aklınıza print() böyle mi çalışıyor diye soru geldiyse hayır. İstediğiniz kadar parametre almanızı sağlayan bir
kod var. O ileri seviye es geçiyorum.

Matematiğe geri dönüyoruz diyip durdum. O hesaplama kısmına tekrar bakalım. İşlem önceliği biliyorsunuz böyle;

Önce parantez
Üslü-Köklü
çarpma-bölme
Toplama-çıkarma
Çoklu işlemlerde işlem soldan sağa olur.

Ancak orada ben hesaplama değiikenini böyle yazdım. (not1 + not2) / 2 Yani parantez ile işlem önceliği verdim.
Onu kaçırmayın. Bu şekilde parantez ile işlem önceliği verebiliriz. Birde eğer notları 10 + 15 olsaydı ortalaması
12.5 olurdu. O yüzden // değilde / kullanırız. Çünkü // bu 12 diye yazardı ekrana.

1-) Python Hakkında ve Genel Özellikler - https://www.turkhackteam.org/9273898-post1.html
2-) Basitçe Veri Tipleri ve Alıştırmalar - https://www.turkhackteam.org/9273900-post2.html
3-) Matematik - https://www.turkhackteam.org/9273901-post3.html
4-) Stringler (Karakter Dizileri) - https://www.turkhackteam.org/9273902-post4.html
5-) Listeler - https://www.turkhackteam.org/9273905-post5.html
6-) Demetler - https://www.turkhackteam.org/9273907-post6.html
7-) Sözlükler - https://www.turkhackteam.org/9273908-post7.html
8-) Fonksiyonlar - https://www.turkhackteam.org/9273910-post8.html
9-) Operatörler - https://www.turkhackteam.org/9273912-post9.html
10-) Koşullu Durumlar - https://www.turkhackteam.org/9273913-post10.html
11-) Döngüler - https://www.turkhackteam.org/9273917-post11.html
12-) Modüller - https://www.turkhackteam.org/9273919-post12.html
13-) Dosya İşlemleri - https://www.turkhackteam.org/9273921-post13.html
14-) Tam Haliyle print() - https://www.turkhackteam.org/9273921-post14.html
15-) Hatalar ve İstisnalar - https://www.turkhackteam.org/9273923-post15.html
16-) 2 Örnek Proje - https://www.turkhackteam.org/9273924-post16.html
---------------------
Kusurları Görmek İçin Kusursuz Giyinmelisin.


THT Cyber Star Hacking Eğitim Seti (Türkiye'de İlk! Ücretsiz)
Konu ZuL-RaA tarafından (3 Gün önce Saat 18:58 ) değiştirilmiştir.
oxydes Teşekkür etti.
ZuL-RaA - ait Kullanıcı Resmi (Avatar)
Moderatör
Üyelik tarihi:
12/2017
Nereden:
Seul
Mesajlar:
4.327
Konular:
287
Teşekkür (Etti):
725
Teşekkür (Aldı):
1360
Ticaret:
(0) %
6 Gün önce
#9


Operatörler

Günlük hayatta işimizi kolaylaştıran bazı ifadeler var. Ve, ya da gibi. Bunlara programlamada operatör diyoruz.
Birde fazla operatör var ve gruplara ayrılıyor kendi içinde. Hadi şu operatörleri yakından tanıyalım.

* Aritmetik (Matematiksel) Operatörler
* Karşılaştırma Operatörler
* Atama Operatörleri
* Mantıksal Operatörler
* Üyelik Operatörleri
* Kimlik Operatörleri

Aritmetik Operatörler

Matematikte kullandığımız operatörlere aritmetik operatör diyoruz. Gördüğümüze ek bir kaç operatör...



Resim95 - Aritmetik Operatörler

Karşılaştırma Operatörleri

Bunlar ise karşılaştırma yapar. O ondan büyük, bu buna eşit gibi..



Resim96 - Karşılaştırma Operatörleri



Resim97 - Karşılaştırma Operatörleri 2. Parça

Atama Operatörleri

Bunlar şimdilik biraz garip görünebilir. Ama ilerledikçe örnek yapacağız.



Resim98 - Atama Operatörleri

Kolay gibide aslında. Çünkü direkt dediğimizi yapıyor. Eşittir, artı eşittir, çarpı eşittir...

Mantıksal Operatörler

Bunlar ve, veya değil aslında.

A = 1 ve b = 2 ise doğru,

a veya b 1 ise doğru,

a doğruysa yanlış..



Resim99 - Mantıksal Operatörler

Üyelik Operatörleri

Hatırlıyorsanız in operatörünü kullanmıştık. Burada o var.



Resim100 - Üyelik Operatörleri

Kimlik Operatörleri

Eşit mi diye sorar. Eşitsiz...



Resim101 - Kimlik Operatörleri

1-) Python Hakkında ve Genel Özellikler - https://www.turkhackteam.org/9273898-post1.html
2-) Basitçe Veri Tipleri ve Alıştırmalar - https://www.turkhackteam.org/9273900-post2.html
3-) Matematik - https://www.turkhackteam.org/9273901-post3.html
4-) Stringler (Karakter Dizileri) - https://www.turkhackteam.org/9273902-post4.html
5-) Listeler - https://www.turkhackteam.org/9273905-post5.html
6-) Demetler - https://www.turkhackteam.org/9273907-post6.html
7-) Sözlükler - https://www.turkhackteam.org/9273908-post7.html
8-) Fonksiyonlar - https://www.turkhackteam.org/9273910-post8.html
9-) Operatörler - https://www.turkhackteam.org/9273912-post9.html
10-) Koşullu Durumlar - https://www.turkhackteam.org/9273913-post10.html
11-) Döngüler - https://www.turkhackteam.org/9273917-post11.html
12-) Modüller - https://www.turkhackteam.org/9273919-post12.html
13-) Dosya İşlemleri - https://www.turkhackteam.org/9273921-post13.html
14-) Tam Haliyle print() - https://www.turkhackteam.org/9273921-post14.html
15-) Hatalar ve İstisnalar - https://www.turkhackteam.org/9273923-post15.html
16-) 2 Örnek Proje - https://www.turkhackteam.org/9273924-post16.html
---------------------
Kusurları Görmek İçin Kusursuz Giyinmelisin.


THT Cyber Star Hacking Eğitim Seti (Türkiye'de İlk! Ücretsiz)
Konu ZuL-RaA tarafından (3 Gün önce Saat 18:59 ) değiştirilmiştir.
ZuL-RaA - ait Kullanıcı Resmi (Avatar)
Moderatör
Üyelik tarihi:
12/2017
Nereden:
Seul
Mesajlar:
4.327
Konular:
287
Teşekkür (Etti):
725
Teşekkür (Aldı):
1360
Ticaret:
(0) %
6 Gün önce
#10


Koşullu Durumlar

Mesela Anneniz evde ekmek yoksa (-sa eki) ekmek al dedi. Bu koşullu durum, ekmek almanız için eve ekmek olmaması
lazım. Sağlık raporunu getirirsen (-se eki) seni takım alırız. Bu da koşullu, takıma girmek için sağlık raporunu
getirmek gerekiyor...

Python da koşullu durumlar için "Eğer" anlamın gelen İngilizce kelime olan "if" kullanıyoruz.



Resim102 - if

Diyelim internete erişmek için 15 yaş üstü olmak gerekiyor. if ile yaptık bunu. Az önceki karşılaştırma
operatörü sayesinde. İlk örnekte yaş 15 ten büyük olduğu için if bloğu çalıştı ve ekrana yazı geldi. İkinci
durumda if çalışmadı. Çünkü gerekli şartı karşılamıyor.



Resim103 - if

Değeri kullanıcıdan da alabiliriz değil mi İlki uyduğu için çalışırken diğeri uygumadığı için çalışmadı.
int() kullanmayı unutmayın string ile integer büyük küçük diye karşılaştırılamaz.



Resim104 - İnstagram'a Girmek

Bakın, İnstagram giriş örneği!

Peki ya bir kullanıcı daha varsa o ne yapacak? Bir daha "if" kullanmıyoruz, bundan sonraki bütün ihtimaller için
"elif" kullanıyoruz..



Resim105 - elif

Bakın, artık elif kullanarak birçok olasılık ekleyebiliriz. Sadece varsa o koşullu durum gerçekleşir. Diğerleri
çalışmaz.

Peki ya bilgiler eşleşmezse?



Resim106 - else

Bakın if e veya eliflerden birine girmiyor. Koşuluna uymuyor yani. else burada devreye giriyor, eğer hiçbirine
uymuyorsa else çalışır.

1-) Python Hakkında ve Genel Özellikler - https://www.turkhackteam.org/9273898-post1.html
2-) Basitçe Veri Tipleri ve Alıştırmalar - https://www.turkhackteam.org/9273900-post2.html
3-) Matematik - https://www.turkhackteam.org/9273901-post3.html
4-) Stringler (Karakter Dizileri) - https://www.turkhackteam.org/9273902-post4.html
5-) Listeler - https://www.turkhackteam.org/9273905-post5.html
6-) Demetler - https://www.turkhackteam.org/9273907-post6.html
7-) Sözlükler - https://www.turkhackteam.org/9273908-post7.html
8-) Fonksiyonlar - https://www.turkhackteam.org/9273910-post8.html
9-) Operatörler - https://www.turkhackteam.org/9273912-post9.html
10-) Koşullu Durumlar - https://www.turkhackteam.org/9273913-post10.html
11-) Döngüler - https://www.turkhackteam.org/9273917-post11.html
12-) Modüller - https://www.turkhackteam.org/9273919-post12.html
13-) Dosya İşlemleri - https://www.turkhackteam.org/9273921-post13.html
14-) Tam Haliyle print() - https://www.turkhackteam.org/9273921-post14.html
15-) Hatalar ve İstisnalar - https://www.turkhackteam.org/9273923-post15.html
16-) 2 Örnek Proje - https://www.turkhackteam.org/9273924-post16.html
---------------------
Kusurları Görmek İçin Kusursuz Giyinmelisin.


THT Cyber Star Hacking Eğitim Seti (Türkiye'de İlk! Ücretsiz)
Konu ZuL-RaA tarafından (3 Gün önce Saat 18:59 ) değiştirilmiştir.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler