Ders içeriği
if - else
Hata ayıklama
artırarak , azaltırarak , böle böle bölme , çarparak atırma operatörleri
Döngüler
and , or
İf ve else
İf ve else anlamına baktığımız zaman if eğer demektir else ise başka anlamına gelmektedir . Bunu açıklamak için bir kaç örnek vererek daha iyi anlayacağınızı düşünüyorum.
İF()
Eğer şart sağlanırsa gerçekleştirilicek komutumuzdur .
Else
Girdiğimiz hiç bir koşul yerine getirilmez ise çalışıcak komutumuzdur.
İf komutunu kullanırken bazı koşulları kullanıcağız bunlar :
== koşulu : Eşitse anlamına gelmektedir
!= koşulu : Eşit değilse anlamına gelmektedir
Hemen şimdi gelelim bunları nasıl kullanıcağımızı ilk olarak örnek verelim :
Python:
Şuraya hemen deyineyim: Biz kodlarımızı şu şekilde yapsaydık hata alıcaktık:
Kod:
bu bir hatadır if komutunu kullandımız zaman yani onun içeriğini kodlarken giridiğimiz kodlar'ı en az 1 adet boşluk bırakarak veya 4 adet boşluk bırakarak gösteriyoruz.
Eğer 1453 girerseniz 1453 Doğru! değerini yazdırdığın farkına varıcaksınızdır eğer 1453 sayısından farklı bir rakam girerse yanlış diyecektir , == koşulu ile örnek gösterdik şimdi biz != koşulu ile örnek verelim.
Python:
Kodumuzun Türkç'e hale getirirsek :
Kod:
Fark etiniz üzre biz burada sayısal değer bekliyoruz metinsel değil peki ekrana metinsel değer girersek ?
Python:
python ekrana bu çıktıyı vericektir. Bu bir hatadır bu hata şunu incelediğimiz zaman ( "File "<string>", line 1, in <module>") diyor ki birinci satırdaki fetih değeri string yani metinsel ifadeye ait değil. İnt değerinde veri giriniz demek istiyor bunun gibi hataları anlmayan kullanıcılar ne olduğunu anlamyacaktır biz buna benzer hataların önüne geçip ne hatasını yaptığı onun anlayacağı şekilde yorumlaya biliriz .
Try: , Except():
Bu komutlar sayesinde kullanıcı hata girdiği zaman kullanıcağız try: komutu hatayı arayacağımız komutumuz except(): komutu kullanıcı hata yaptı zaman yapılıcak işlev'i yapar.
Hemen örnek verelim
Python:
Hatırlarsanız 1. satırda fetih'in string olmadığını söylemişti burada hata aramasını söyledik. Aldığımız hatayı tekrar inceleyelim
Kod:
burada aldığımız hata NameError: hatası olduğunu tespit etik .
Python:
Bu şekilde kullanılıyor biraz açıklayalım eğer kod içinde NameError: bulunursa ekrana Sayı ile beli ediniz kelime ile değil. yazdır dedik buradaki NameError: hatası ekrana string türünde veri yazdığımız zaman gelen hata olduğu için bu hatayı aldığı zaman ekrana yazdır dedik.
Eğer isterseniz hata kodu ile uğraşmadan topluca tüm hataların önüne geçmek için:
Python:
Bu şekilde kullanırsınız yani except(Hata_Kodu): girmeden except: kodunu direk olarak kullanıyoruz.
Try: ve Except(): komutları bu şekilde kullanılıyor. Şu şekildede isteye bilirsiniz hatayı versin sonra ekrana hatayı bastırsın daha sonra ise direk program tekrar başlasın bunun için dögüler'i öğrenelim.
While(): , For
Kodların ne işe yaradığını söylemeden önce döngü nedir bilmeyen arkadaşlar için direk hemen açıklayalım . Döngüler çoğunlukla her yazılımda bulunurlar bu döngüler bazı işlerimizi kolaylaştır mesela ekrana 1 den 1000 e kadar yazmak ne kadar uğraştırıcı değil mi ? bunun gibi sorunların önüne geçe bilir veya sonsuza kadar istediğimiz veriyi yazdıra biliz bu döngüler tek bunla kalmayıp programı tekrar çalıştırmak yani bazı kodları tekrar çalıştırmaya işe yaraya bilir veya bazı değerlerin değerini artıra bilir yada zamanı gelince sıfırlaya bilir. Hemen bir döngüye örnek verelim ilk While döngüsünü inceleyeceğiz ama ondan önce bazı matematiksel operatörler vardı onları görmedik onları görelim .
> : Büyüktür operatörü
< : küçüktür operatörü
+= : Bu operatör ++ ile denktir ama ++ olarak kullanırsanız bir işe yaramaz . Bu operatör önce işlemi yapar sonra değere aktarır.
=+ : Bu operatör ++ ile denktir ama ++ olarak kullanırsanız bir işe yaramaz . Bu operatör önce değere aktarır sonra işelmi yapar.
-= : Bu operatör -- ile denktir ama -- olarak kullanırsanız bir işe yaramaz . Bu operatör önce işlemi yapar sonra değere aktarır.
=- : Bu operatör -- ile denktir ama -- olarak kullanırsanız bir işe yaramaz . Bu operatör önce değere aktarır sonra işelmi yapar.
*= : Bu operatör ** ile denktir ama ** olarak kullanırsanız bir işe yaramaz . Bu operatör önce işlemi yapar sonra değere aktarır.
=* : Bu operatör ** ile denktir ama ** olarak kullanırsanız bir işe yaramaz . Bu operatör önce değere aktarır sonra işelmi yapar.
/= : Bu operatör // ile denktir ama // olarak kullanırsanız bir işe yaramaz . Bu operatör önce işlemi yapar sonra değere aktarır.
=/ : Bu operatör // ile denktir ama // olarak kullanırsanız bir işe yaramaz . Bu operatör önce değere aktarır sonra işelmi yapar.
Şimdi hemen basit bir while(): komutu ile bir kod görelim
Python:
Bu döngü sonsuza dek devam eder durur.Eğer CTRL + C tuşuna basılır ise program sonlandırılıcaktır . Tabii biz istersek if deki oldu gibi eğer koşul sağlanır ise de döngün olmasını sağlaya biliriz örneğin:
Python:
Bu şekilde koşul sağlandı zaman da yapa billiriz şu örneği mutalaka ele alın:
Python:
ne oldu 16'da sonlandırdı değil mi gayet programı solandırması normal programı şöyle açıklayalım eğer girilen sayı 15 den küçükse while döngüsünü aktif hale getir hiç durmadan sayi 1 olarak artır sonra sayı değişkenini ekrana yazdır . Burada 15 değerinden büyük değer olursa sayi değeri zaten program sonlanması normal.Bunu şu şekildede yapa biliriz:
Python:
buradaki mantıkda aynı sadece yaptımız şey if koşulu ile sayi 5'e eşit oldu zaman sayiyi 0 yap. Bu şekilde devam eder akıp sürer sonsuza dek . Peki bunu sonlandırmak istersek yapa biliriz bunun için bazı fonksiyonları öğrenelim:
Break : Döngüyü sonlandırır kırar.
Continue : Program akışı devam etirmye yarar.
Hemen örnek verelim:
Python:
bu şekilde kullanıla bilir şimdi şu fetih sorusuna gelelim kodumuz şuydu:
Python:
şimdi hatayı verdiği zaman program devam etsin istiyorsak continue değimini kullanıcağız.
Python:
Artık doğru cevabı veresiye kadar tekrar aynı soruyu sorucaktır.
For
Whiledeki şu kodu hatırlıyorsunuzdur :
Python:
şunu inceleyelim:
Python:
burada değişken olarak kelimler değişkenini kullandım içeriğini "in" diyerek kelime olduğunu beli etdim.For komutunu anlatmadan önce görmediğimiz diğer fonksiyonları öğrenelim
Range() : Sayı aralıklarını beli etmenizsi sağlar.
Len() Karakter dize uzunluğunu gösterir.
Hemen örnekler ile gösterelim bunları:
Python:
1 den 15 ' e kadar yazdırır.
Python:
1 ve 100 arasındaki sayıları 2'şer 2'şer yazdırır.
Len() ise :
Python:
Kaç karakterden olduğunu yazdırdığını fark ediceksinizdir.
And , Or
İf deki ve whilede kullanılır .
İlk and dan başlayacağım hemen örnek verelim:
Python:
sifre değişkeni ile sifre_onay değişkeni sifre değişkenine eşitse ekrana onaylandı yazıcaktır ancak birisi birine uyuşmasa hiç bir şey olmayacaktır.
Hemen or'a önrek verelim:
Python:
bu şekilde kullanıla bilir ancak bunu isterseniz çoğalata bilirsiniz.
Python:
bu and içinde geçerlidir.
if - else
Hata ayıklama
artırarak , azaltırarak , böle böle bölme , çarparak atırma operatörleri
Döngüler
and , or
İf ve else
İf ve else anlamına baktığımız zaman if eğer demektir else ise başka anlamına gelmektedir . Bunu açıklamak için bir kaç örnek vererek daha iyi anlayacağınızı düşünüyorum.
İF()
Eğer şart sağlanırsa gerçekleştirilicek komutumuzdur .
Else
Girdiğimiz hiç bir koşul yerine getirilmez ise çalışıcak komutumuzdur.
İf komutunu kullanırken bazı koşulları kullanıcağız bunlar :
== koşulu : Eşitse anlamına gelmektedir
!= koşulu : Eşit değilse anlamına gelmektedir
Hemen şimdi gelelim bunları nasıl kullanıcağımızı ilk olarak örnek verelim :
Python:
Kod:
#-*- coding: utf-8 -*-
fetih = input("İstanbul ne zaman feth edilmiştir? :")
if (fetih == 1453):
print(fetih),("Doğru!")
#Else komutu if komutundan sonra gelmeli önünde gelemez.
else:
print("Yanlış.")
Şuraya hemen deyineyim: Biz kodlarımızı şu şekilde yapsaydık hata alıcaktık:
Kod:
Kod:
if (fetih == 1453):
print(fetih),("Doğru!")
else:
print("Yanlış.")
Eğer 1453 girerseniz 1453 Doğru! değerini yazdırdığın farkına varıcaksınızdır eğer 1453 sayısından farklı bir rakam girerse yanlış diyecektir , == koşulu ile örnek gösterdik şimdi biz != koşulu ile örnek verelim.
Python:
Kod:
#-*- coding: utf-8 -*-
fetih = input("İstanbul ne zaman feth edilmiştir? :")
if (fetih != 1453):
print(fetih),("tahinde feth edilmemiştir yanlış!")
else:
print("Doğru!")
Kodumuzun Türkç'e hale getirirsek :
Kod:
Kod:
Bu dil utf-8 olarak kodlanıyor
fetih adınd'a değer oluştur değer intput'a eşittir ve ekrana İstanbul ne zaman feth edilmiştir? : yazdır ve kullanıcıdan değer
bekle eğer değer 1453 ' e eşit değilse ekrana girilen değer'i yazdır daha sonra tarihinde feth edilmemiştir yanlış! yazdır
eğer 1453 değeri girilmiş ise ekrana Doğru! yazdır.
Fark etiniz üzre biz burada sayısal değer bekliyoruz metinsel değil peki ekrana metinsel değer girersek ?
Python:
Kod:
Traceback (most recent call last):
File "*:\*\*\Desktop\python.py", line 2, in <module>
fetih = input("İstanbul ne zaman feth edilmiştir? :")
File "<string>", line 1, in <module>
NameError: name 'asdasd' is not defined
python ekrana bu çıktıyı vericektir. Bu bir hatadır bu hata şunu incelediğimiz zaman ( "File "<string>", line 1, in <module>") diyor ki birinci satırdaki fetih değeri string yani metinsel ifadeye ait değil. İnt değerinde veri giriniz demek istiyor bunun gibi hataları anlmayan kullanıcılar ne olduğunu anlamyacaktır biz buna benzer hataların önüne geçip ne hatasını yaptığı onun anlayacağı şekilde yorumlaya biliriz .
Try: , Except():
Bu komutlar sayesinde kullanıcı hata girdiği zaman kullanıcağız try: komutu hatayı arayacağımız komutumuz except(): komutu kullanıcı hata yaptı zaman yapılıcak işlev'i yapar.
Hemen örnek verelim
Python:
Kod:
try:
fetih = input("İstanbul ne zaman feth edilmiştir? :")
if (fetih != 1453):
print(fetih),("tahinde feth edilmemiştir yanlış!")
else:
print("Doğru!")
Hatırlarsanız 1. satırda fetih'in string olmadığını söylemişti burada hata aramasını söyledik. Aldığımız hatayı tekrar inceleyelim
Kod:
Kod:
File "<string>", line 1, in <module>
NameError: name 'deneme' is not defined
burada aldığımız hata NameError: hatası olduğunu tespit etik .
Python:
Kod:
#-*- coding: utf-8 -*-
try:
fetih = input("İstanbul ne zaman feth edilmiştir? :")
if (fetih != 1453):
print(fetih),("tahinde feth edilmemiştir yanlış!")
else:
print("Doğru!")
except(NameError):
print("Sayı ile beli ediniz kelime ile değil.")
Bu şekilde kullanılıyor biraz açıklayalım eğer kod içinde NameError: bulunursa ekrana Sayı ile beli ediniz kelime ile değil. yazdır dedik buradaki NameError: hatası ekrana string türünde veri yazdığımız zaman gelen hata olduğu için bu hatayı aldığı zaman ekrana yazdır dedik.
Eğer isterseniz hata kodu ile uğraşmadan topluca tüm hataların önüne geçmek için:
Python:
Kod:
#-*- coding: utf-8 -*-
try:
fetih = input("İstanbul ne zaman feth edilmiştir? :")
if (fetih != 1453):
print(fetih),("tahinde feth edilmemiştir yanlış!")
else:
print("Doğru!")
except:
print("Hata oluştu.")
Bu şekilde kullanırsınız yani except(Hata_Kodu): girmeden except: kodunu direk olarak kullanıyoruz.
Try: ve Except(): komutları bu şekilde kullanılıyor. Şu şekildede isteye bilirsiniz hatayı versin sonra ekrana hatayı bastırsın daha sonra ise direk program tekrar başlasın bunun için dögüler'i öğrenelim.
While(): , For
Kodların ne işe yaradığını söylemeden önce döngü nedir bilmeyen arkadaşlar için direk hemen açıklayalım . Döngüler çoğunlukla her yazılımda bulunurlar bu döngüler bazı işlerimizi kolaylaştır mesela ekrana 1 den 1000 e kadar yazmak ne kadar uğraştırıcı değil mi ? bunun gibi sorunların önüne geçe bilir veya sonsuza kadar istediğimiz veriyi yazdıra biliz bu döngüler tek bunla kalmayıp programı tekrar çalıştırmak yani bazı kodları tekrar çalıştırmaya işe yaraya bilir veya bazı değerlerin değerini artıra bilir yada zamanı gelince sıfırlaya bilir. Hemen bir döngüye örnek verelim ilk While döngüsünü inceleyeceğiz ama ondan önce bazı matematiksel operatörler vardı onları görmedik onları görelim .
> : Büyüktür operatörü
< : küçüktür operatörü
+= : Bu operatör ++ ile denktir ama ++ olarak kullanırsanız bir işe yaramaz . Bu operatör önce işlemi yapar sonra değere aktarır.
=+ : Bu operatör ++ ile denktir ama ++ olarak kullanırsanız bir işe yaramaz . Bu operatör önce değere aktarır sonra işelmi yapar.
-= : Bu operatör -- ile denktir ama -- olarak kullanırsanız bir işe yaramaz . Bu operatör önce işlemi yapar sonra değere aktarır.
=- : Bu operatör -- ile denktir ama -- olarak kullanırsanız bir işe yaramaz . Bu operatör önce değere aktarır sonra işelmi yapar.
*= : Bu operatör ** ile denktir ama ** olarak kullanırsanız bir işe yaramaz . Bu operatör önce işlemi yapar sonra değere aktarır.
=* : Bu operatör ** ile denktir ama ** olarak kullanırsanız bir işe yaramaz . Bu operatör önce değere aktarır sonra işelmi yapar.
/= : Bu operatör // ile denktir ama // olarak kullanırsanız bir işe yaramaz . Bu operatör önce işlemi yapar sonra değere aktarır.
=/ : Bu operatör // ile denktir ama // olarak kullanırsanız bir işe yaramaz . Bu operatör önce değere aktarır sonra işelmi yapar.
Şimdi hemen basit bir while(): komutu ile bir kod görelim
Python:
Kod:
#-*- coding: utf-8 -*-
while (True):
print("CTRL + C ye basmadan durmam")
Bu döngü sonsuza dek devam eder durur.Eğer CTRL + C tuşuna basılır ise program sonlandırılıcaktır . Tabii biz istersek if deki oldu gibi eğer koşul sağlanır ise de döngün olmasını sağlaya biliriz örneğin:
Python:
Kod:
#-*- coding: utf-8 -*-
try:
sakin = raw_input("Sakın ekrana tamam yazma!:")
while (sakin == "tamam"):
print("CTRL+C ye sakın basma!")
except(KeyboardInterrupt):
while(True):
print("CTRL + C ye basma dedim!!!")
Bu şekilde koşul sağlandı zaman da yapa billiriz şu örneği mutalaka ele alın:
Python:
Kod:
sayi = input("Sayi giriniz:")
while (sayi <= 15):
sayi += 1
print sayi
ne oldu 16'da sonlandırdı değil mi gayet programı solandırması normal programı şöyle açıklayalım eğer girilen sayı 15 den küçükse while döngüsünü aktif hale getir hiç durmadan sayi 1 olarak artır sonra sayı değişkenini ekrana yazdır . Burada 15 değerinden büyük değer olursa sayi değeri zaten program sonlanması normal.Bunu şu şekildede yapa biliriz:
Python:
Kod:
#-*- coding: utf-8 -*-
sayi = input("Sayi giriniz:")
while (sayi <= 15):
sayi += 1
print sayi
if (sayi == 5):
sayi = 0
buradaki mantıkda aynı sadece yaptımız şey if koşulu ile sayi 5'e eşit oldu zaman sayiyi 0 yap. Bu şekilde devam eder akıp sürer sonsuza dek . Peki bunu sonlandırmak istersek yapa biliriz bunun için bazı fonksiyonları öğrenelim:
Break : Döngüyü sonlandırır kırar.
Continue : Program akışı devam etirmye yarar.
Hemen örnek verelim:
Python:
Kod:
#-*- coding: utf-8 -*-
sayi = input("Sayi giriniz:")
while (sayi <= 15):
sayi += 1
print sayi
if (sayi == 5):
sayi = 0
break
bu şekilde kullanıla bilir şimdi şu fetih sorusuna gelelim kodumuz şuydu:
Python:
Kod:
#-*- coding: utf-8 -*-
try:
fetih = input("İstanbul ne zaman feth edilmiştir? :")
if (fetih != 1453):
print(fetih),("tahinde feth edilmemiştir yanlış!")
else:
print("Doğru!")
except(NameError):
print("Sayısal değer girin! kelime değil!")
şimdi hatayı verdiği zaman program devam etsin istiyorsak continue değimini kullanıcağız.
Python:
Kod:
#-*- coding: utf-8 -*-
while True:
try:
fetih = input("İstanbul ne zaman feth edilmiştir? :")
if (fetih != 1453):
print(fetih),("tahinde feth edilmemiştir yanlış!")
else:
print("Doğru!")
break
except:
continue
Artık doğru cevabı veresiye kadar tekrar aynı soruyu sorucaktır.
For
Whiledeki şu kodu hatırlıyorsunuzdur :
Python:
Kod:
#-*- coding: utf-8 -*-
a = 0
while(a == 0):
a += 10
print a
şunu inceleyelim:
Python:
Kod:
for kelimler in "kelime":
print kelimler
burada değişken olarak kelimler değişkenini kullandım içeriğini "in" diyerek kelime olduğunu beli etdim.For komutunu anlatmadan önce görmediğimiz diğer fonksiyonları öğrenelim
Range() : Sayı aralıklarını beli etmenizsi sağlar.
Len() Karakter dize uzunluğunu gösterir.
Hemen örnekler ile gösterelim bunları:
Python:
Kod:
for sayi in range(1,15):
print sayi
1 den 15 ' e kadar yazdırır.
Python:
Kod:
print range(1,100,2)
1 ve 100 arasındaki sayıları 2'şer 2'şer yazdırır.
Len() ise :
Python:
Kod:
a = "Python"
print len(a)
Kaç karakterden olduğunu yazdırdığını fark ediceksinizdir.
And , Or
İf deki ve whilede kullanılır .
İlk and dan başlayacağım hemen örnek verelim:
Python:
Kod:
#-*- coding: utf-8 -*-
sifre = raw_input("Sifre giriniz:")
sifre_onay = raw_input("Girilen sifreyi onayla:")
if (sifre) and (sifre_onay) == (sifre):
print("Onaylandı")
sifre değişkeni ile sifre_onay değişkeni sifre değişkenine eşitse ekrana onaylandı yazıcaktır ancak birisi birine uyuşmasa hiç bir şey olmayacaktır.
Hemen or'a önrek verelim:
Python:
Kod:
#-*- coding: utf-8 -*-
meyve = raw_input("Meyve adı giriniz:")
if (meyve) == ("elma") or ("armut"):
print(meyve)
bu şekilde kullanıla bilir ancak bunu isterseniz çoğalata bilirsiniz.
Python:
Kod:
meyve = raw_input("Meyve adı giriniz:")
if (meyve) == ("elma") or ("armut") or ("kiraz") or("vişne"):
print(meyve)
bu and içinde geçerlidir.
Son düzenleme:

