10 Ekim 2011 Pazartesi

while

Bu dersimizde while akış kontrolünü göreceğiz...

Hemen bir örnekle başlayalım...

KOD

x=5

while a==5:
    print('python')

kodu bizim ekranımıza sonsuz sayıda python yazdıracaktır.Yani bir
sonsuz döngü oluşturmuş olacağız.(Bu kodu yazmayabilirsiniz,sadece mantığını anlatmak içindi.)

KOD2

x=2

while x<10:
    print('python')

kodu bize 2 sayısından itibaren 10 küçük her sayı için ekrana
python yazdıracaktır.

bir önceki derste programladığımız sayı tahmin programını while ile
de yapalım

KOD

sayi=77
tf=True

while tf:
    tahmin=int(input('Tahmin ettiğiniz sayıyı giriniz:'))
    if tahmin==sayi:
        print ('Tahmininiz doğru!')
        tf=False
    elif 74
        print('Yaklaştınız')
    else:
        print('Bilemediniz...')

bu kodda tf,True yada False değerleri için atadığımız bir değişken.
Tanıdık gelmesi için baş harflerini aldık.Eğer 74 ile 77 arasında bir
sayı girerseniz ekrana Yaklaştınız,yanlış değer girerseniz Bilemediniz...
doğru değeri girerseniz  Tahmininiz doğru! yazısını yazdıracaltır.

Bu dersimiz bu kadar bir dahdki derste görüşmek üzere...

Listeler

Bu derste listeleri anlatacağız...

Bir liste oluşturarak başlayalım,

KOD

liste=["php","python","c","c++","ajax","asp"]

listemizi oluşturduk şimdi bunun içinden istediğimiz bir öğeyi
yazdıralım

KOD

liste[0]

kodu bize php öğesini ekrana yazacaktır.Neden sıfır diye soracak
olursanız,pythondaki listeler ile C veya C++ 'daki diziler aynı
nitelikltedir.Neden 0 dan başladığı ise bilgisayar sistemlerinin
2'lik sayı sisteminden yani 0 ve 1'lerden oluşmasıdır.

listelerde negatif sayıları da kullanabiliriz.

KOD

liste[-1]

kodu bize asp  öğesini verecektir.

yine değişik bir kodlama tarzı olarak

KOD

liste[4-1]

kodunu yazarak ekrana  c++  öğesini yazdırabiliriz.

Şimdi bu listeleri dilimleyelim

KOD

liste[1:3]

kodu bize sadece 2 tane öğe ekrana verecek:python ve c  öğeleri.

Diğer bir kod tekniği

KOD

liste[:4]

kodu bize ['php','python','c','c++']  ekran çıktısını verecektir.
yani 0 yazmadan da liste dilimleme işlemini yapabilirsiniz.


Diğer bir kodlama türü

KOD

liste[1:-1]

kodu bize ['python','c','c++','ajax']  verecektir.

Tüm listeyi şu şekilde yazdırabiliriz;

KOD

liste[:]

kodu bize tüm listeyi ['php','python','c','c++','ajax','asp'] ekrana
verecektir.




pythonda listeleri daha iyi kullanabilmek için bazı metodlar vardır.
bu metodları

KOD

dir(list)

diye yazarak görebiliriz.

kod listemiz

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',
'__delslice__', '__doc__', '__eq__', '__format__', '__ge__',
'__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__',
'__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__',
'__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__',
'__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend',
'index', 'insert', 'pop', 'remove', 'reverse', 'sort'
]


şeklindedir.


Hemen korkmayın!!!
Burada bizi ilgilendiren metodlar

append
count
extend
index
insert
pop
remove
reverse
sort

yukarıdaki 9 metodtur.

Bir liste oluşturalım


liste=["a","b","c","d","e","f","g","h"]


append  kullanımı
yeni öğe ekler ve sonuna ekler

KOD

liste.append('python')


ekrana  ['a','b','c','d','e','f','g','h','python'] çıktısını verir.




extend kullanımı
Listemize yeni liste eklememizi sağlar.

KOD

liste.extend('php')


ekrana  ['a','b','c','d','e','f','g','h','python','php'] çıktısını verir.


Diğer bir liste ekleme metodu ise,

KOD

liste=liste+[A]
liste

kodudur.ekrana  ['a','b','c','d','e','f','g','h','python','php','A']
çıktısını verir.


insert kullanımı
Bu ise listenin belirli bir yerine öğe eklememizi sağlar.

KOD

liste.insert(3,'Cumhuriyet')

kodu ekrana ['a','b','c','Cumhuriyet','d','e','f','g','h','python','php','A']
çıktısını verecektir.

count kullanımı
Bu metodun görevi ise bir ögenin listemizde kaç kere geçtiğini bulmamızı sağlar.

önce listemize bir Cumhuriyet öğesi dah ekleyelim
KOD

liste=liste+['Cumhuriyet']
liste

listemizin yeni şekli=['a','b','c','Cumhuriyet','d','e','f','g','h','python','php','A','Cumhuriyet']

şimdi count metodunu kullanalım...

KOD

liste.count('Cumhuriyet')

kodu ekrana 2 diye bir çıktı verecektir.

reverse kullanımı
Bu metod listemizi ters çevirmemizi sağlar.

KOD

liste.reverse()
liste

kodu ekrana ['Cumhuriyet','A','php','python','h','g','f','e','d','Cumhuriyet','c','b','a']
çıktısını verecektir.

sort kullanımı
Bu metod harf sırasına göre öğeleri sıralar

KOD

liste.sort()
liste

kodu ekrana ['A', 'Cumhuriyet', 'Cumhuriyet', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'php', 'python']
çıktısını ekrana verecektir.

remove kullanımı
Listeden öğe çıkarmak görevini yapar.

KOD

liste.remove('Cumhuriyet')
liste

kodu ekrana  ['A', 'Cumhuriyet', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'php', 'python']
çıktısını verir.

diğer bir yol ise

KOD

del liste[2]
liste

ekrana ['A', 'Cumhuriyet', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'php', 'python']
çıktısını verecektir.


pop kullanımı
öğe sırasına göre silme yapar ve silenen öğeyi ekrana yazar

KOD

liste.pop(0) //Bundan sonra silinecek olan öğeyi ekrana yazacaktır.
liste

ekrana ['Cumhuriyet', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'php', 'python']
çıktısını verecektir.


liste içine bir liste daha eklemek

KOD

liste.append(['1','2'])

kodu ekrana ['Cumhuriyet', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'php', 'python', ['1', '2']]
çıktısını verecektir.

Listenin içindeki öğeleri saydırmak istiyorsak

KOD

len(liste)

kodu ekrana 11 çıktısı veirir.Görüldüğü gibi eklediğimiz son listeyide tek bir
öğe gibi görecektir.

Liste içinde bir öğenin var olup olmadığını aramak

KOD

'b' in liste

kodu ekrana True  çıktısını verecektir.Eğer yoksa False  çıktısını verecektir.


KOD

'1' in liste

kodu False  yazısını ekrana yazacaktır.Çünkü 1 ayrı bir liste içindedir.yukarıda Demdiğimiz
gibi len ile öğe sayısını aratırken içindeki listeyi tek öğe olarak kabul edip öğe sayısını
11 olarak varmişti.Yani liste içindeki listeleri tek öğe olarak algılıyor ve içine giriş yapamıyor.

Bu dersimiz bu kadar biraz uzun oldu ama eminim siz bu işi halledersiniz,yine de sorularınız olursa sorabilirsiniz.
Bir dahaki derste görüşmek üzere...

for döngüsü

Bu dersimizde for döngüsünü işleyeceğiz.
For dögüsü bir işlemin belli bir koşulu sağlayıncaya kadar devam
etmesidir.

örnek for dögüsü kuralım

for x in "isminiz":
    print (x)

kodu ekrana harfleri yazacaktır.Yani alt alta

i
s
m
i
n
i
z

yazacaktır.


Şimdi bunun sayılar için olanını yapalım.
sayılar için range() fonksiyonunu kullanırız.range fonksiyonunun
Türkçedeki anlamı aralıktır.

range(x,y,z)
x=başlangıç sayısıdır
y=bitiş sayısıdır
z=Kaçar kaçar artışın belirtildiği sayıdır

Örneğimize geçelim

for x in range(1,10,1):
    print (x)

kodu ekrana

1
2
3
4
5
6
7
8
9
10


yazadıracaktır.



range(10) şeklinde kullanırsak,python bunu 0(sıfır)dan başlatarak
10' a kadar 1'er artırır ve ekrana yazar.
0(sıfır) sadece kaçar kaçar artacağını belirteceğimiz zaman yazıyotur.
yani;
    range(0,10,1):

gibi.

Örneklerimize gelelim;

-Örnek1
for x in range(10,20):
    print(x**2,'Python')


bu kodumuz 10 ile 20 arasındaki sayıların karesini alıp yanınada
python yazarak ekrana yazacaktır.

ekran çıktısı:

100 Python
121 Python
144 Python
169 Python
196 Python
225 Python
256 Python
289 Python
324 Python
361 Python

şeklinde bir ekran çıktısı verecektir.


-Örnek2

for x in range(1,10,3):
    for i in range(4):
        print (i,"python")

burda ekrana şöyle çıktı vermesi gerekiyor:

0 python
1 python
2 python
3 python
0 python
1 python
2 python
3 python
0 python
1 python
2 python
3 python


Burada x=1 için i döngüsü 4 defa dönmüştür.sonra

    x=4 için i döngüsü 4 defa dönmüştür
   
     x=7 için i döngüsü 4 defa dönmüştür

şeklinde açıklayabiliriz.

10 için niye dönmedi diye soracak olursanız range() fonksiyonu
0'dan başlar üst sınırının bir alt sayısı olarak işlemi gerçekleştirir.

if-else-elif

Bu dersimizde if,else,elif akış kontrolünü işleyeceğiz...

Evet dersimize başlıyoruz.

İlk önce terim acıklamalarını yaparsak,
if Türkçede eğer anlamına gelir.
else ise if'in olumsuzu şeklinde tanımlayabiliriz.Yani if'deki
değerin yanlış olması durumunda devreye girmektedir.
Bir de elif akışı kontrolü vardır.Bunu örnekten sonra açıklayacağım.


Dersimize bir örnekle başlayalım...

Bir sayı tahmin programı yapalım mesela;

KOD

sayi=77

tahmin_sayisi=int(input(Tahmin ettiğiniz sayı:))

if sayi==tahmin_sayisi:
    print('Tebtikler!Doğru Tahmin')

elif sayi
    print('Tahmin ettiğiniz sayi,sayimizdan büyüktür!')

elif sayi>tahmin_sayisi:
    print('Tahmin ettiğiniz sayi,sayimizdan küçüktür!')

else:
    print('Malesef tahmininiz yanlış')



Şimdi elif 'i açıklayacak olursak,

bu akış  kontrolü tahmin ettiğimiz sayıyı baz alarak
sayi değişkenine atadığımız değere göre ya büyüktür yada küçüktür
diye bizi uyaracaktır.

Eminim bu kısmı okumdanda elif yapısını anlayacaksınızdır.

Bu derslik bu kadar bir daha ki derslerde görüşmek üzere...

Birkaç püf nokta...

Bir kaç Püf Nokta

cumle='''Yarın günlerden "Pazartesi" dir.'''
print (cumle)

-Burada anlatacağım olaylardan biri;

cumle='''Yarın günlerden "Pazartesi" dir.''' burada kullanılan
tırnak işaretlerinde herhangi bir hata almayacağız.Çünkü
bu şekilde kullanılan tek tırnaklar daha önceki gördüğümüz sorunları
ortadan kaldırıyor.

-Bunun tam terside geçerlidir.Yani;


cumle="""Yarın günlerden 'Pazartesi' dir."""

yazısında da hiçbir hata vermeyecektir.

NOT=

C,C++ veya Php gibi diğer programlama dillerinde kodların sonunda
kullanılan ; işaretini pythonda da kullanabiliriz.Bunda hiçbir sakınca yoktur.
Tabi kullanmazsakta hiç bir şekilde hata almayacağız.

-Başka bir püf noktaya geçelim;

cumle='Yarın İzmir'e gidiyorum';
print (cumle);

kodları bize hata verecektir.Bunun nedeni ise İzmir'e kelimesindeki '  işaretidir.
Bunu önlemek için

cumle='Yarın İzmir'e gidiyorum';

ters slash işarti ile de bu sorunu giderebiliriz.


-Diğer bir püf nokta ise;

cumle="""Yarın hava bulutlu olacakmış
sanırım piknik işi yatacak""""
print (cumle)


yukarıdaki kodları yazdığımızda yazılar alt alta olacaktır.
Ekrana
    Yarın hava bulutlu olacakmış
    sanırım piknik işi yatacak

yazacaktır.Bunu iptal etmek için ise yine ters slash işaretini kullanacağız.

cumle="""Yarın hava bulutlu olacakmış
sanırım piknik işi yatacak""""
print (cumle)

Kodu ekrana
        Yarın hava bulutlu olacakmış sanırım piknik işi yatacak
yazdıracaktır.


Şimdi ise Format metodunu görelim

sayi=29
ne="Cumhuriyet"

print ("(0) Ekim'de (1) ilan edilmiştir".format(sayi,ne))

Burada (0) sayi değişkenini yani 29 u ifade etti,(1) ise Cumhuriyeti ifade etti.
Bu, Daha önce C ile çalışan arkadaşlara tanıdık gelecektir.

Son olarak basit bir kodu anlatarak bu derside bitirelim;

print ("Pythonu anlatmaya çalışıyorum n umarım yararlı olur...")

buradaki kodda n kodu  aynı satırda alt alta kodlar yazmamızı sağlayacaktır.
yani ekrana
        Pythonu anlatmaya çalışıyorum
        umarım yararlı olur
şeklinde ekrana yazacaktır.
Bu kod C ile çalışan arkdaşlara tanıdık gelecektir.

Bir dahaki derte görüşmek üzere...

input(),int()

Bu dersimizde input() fonksiyonunu öğreneceğiz.Hadi Başlayalım!

input fonksiyonu kullanıcıya veri girdirmenizi sağlar.(Tabi bu veri
yazıdır yani  ahmet,mehmet okula gitmedi  gibi cümle veya kelimelerdir.)
Örneğin;
KOD

    meyve=input('En sevdiğiniz meyve nedir?')
    print (meyve)

kodunu yazdığımızda bizden veri girmemizi isteyecektir.
Yani bu kod çalıştıktan sonra sevdiğimiz meyve mesela ARMUT ise
ekrana ARMUT yazarsak bir satır altına ARMUT ismini ekrana yazacakyıt.


Diğer bir kod ise sayılar için olan int() fonksiyonu;
Hemen kullanılışını gösteren bir örnekle başlayalım

meyve=int(input())

Gördüğümüz gibi burada input() fonksiyonunu da kullandık.Bunun nedeni
kullnıcıdan bir sayı alıcağız ama bunu neye göre alacağız.İşte bunu
belirtmek için.Hemen açıklayalım,
KOD

sayi=int(input('Bir Sayı giriniz:'))
print (sayi)

kodu bizden bir sayı girmemizi isteyecektir.Girdiğimiz sayıyı
bir sonraki alt satırda görebiliriz.

Bu derslik bu kadar sonraki derslerde görüşmek üzere...

Python -Değişkenler

Bu dersimizin konusu
Değişkenler

x= “isminiz”

print (x)
ekrana isminiz yazısını yazacaktır.C kullanan arkadaşlara
hatırlatma olsun, burada x değişebilir.

Mesala üstteki işlemi yaptıktan sonra

KOD

x= 600
y= 4

print (x*y)


yazarsanız ekrana 2400 yazacaktır.Yani yeni değeri işleyecektir

Değişkenleri birleştirelim;

KOD

zaman= “Bugun”
nereye= “Ankara’ya”

print (zaman,”sabah erkenden”,nereye,”gidiyorum”)
yazısı bizim ekranımıza Bugun sabah erkenden Ankara’ya gidiyorum yazdıracaktır.

Bu birleştirme işlemini şu yollada yapabiliriz;

KOD

x="sabah "
y="programlama "
z="dersi var"

print (x+y+z)

sabah programlama dersi var
diye ekrana yazdıracaktır.

Sayıları birden fazla yazdırmak için;

KOD

x=”40¨
print (x*5) yazarız
ve ekrana 9898989898 yazacaktır.


Bu olayı daha iyi görmek için şu kodları deneyelim:

KOD

x=”20 ” (20 'den sonra boşluk vardır.)
print (x*4)
yazarsak ekrana 20 20 20 20 yazacaktır.

Bu dersimiz bu kadar bir dahaki derste görüşmek üzere...