While döngüsüne bir örnek daha : Fibonacci sayıları.
Fibonacci dizisinde her sayı kendisinden önce gelen 2 sayının toplamıdır.
Fibonacci dizisi ile ilgili ayrıntılı bilgi için:
http://tr.wikipedia.org/wiki/Fibonacci_dizisi
İstek: Kullanıcıdan bir sayı alan ve bu sayıya kadar olan fibonacci dizisini ekrana yazdıran programı geliştirin.
Programın kaynak koduna aşağıdaki linkten ulaşabilirsiniz.
http://rapidshare.com/files/245095435/fibo.py.html
python etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
python etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
16 Haziran 2009 Salı
15 Haziran 2009 Pazartesi
Python Tutorial While Loop
While döngüsü bir koşul sağlandığı sürece çalışacak olan komutları içerir. Bunu bir örnek üzerinde incelersek daha iyi olacak.
Örneğin kullanıcıdan tek tek öğrenci no ve not girilmesini isteyen ve eğer öğrenci no 0 yada - bir değer girilirse not girişini sonlandırıp sınıf ortalaması ekrana yazdıran programı python ile geliştirelim.
print "ogrenci notlarını sıra ile girin. bitis icin 0 girin"
sayac=0 # sayac sınıf mevcusunu bulmak icin kullanılır her not girişinde 1 arttırılır
toplam=0 # sınıftaki öğrencilerin notlarını toplar
no=input("ogrenci no girin:")
while no>0: # while koşulu. koşul sağlandığı sürece not girişi devam eder.
...puan=input("ogrencinin notunu girin:")
...toplam=toplam+puan # öğrencinin notlarını toplar
...sayac=sayac+1 # öğrenci mevcudunu sayar
...no=input("ogrenci no girin:") # yeni öğrenci nosunu alır
print "ogrencilerin not ortalamasi : %.2f" % float(float(toplam) / sayac)
# giriş bitince istatistiği ekrana yazdırır.
Programın kaynak dosyasına aşağıdaki linkten ulaşabilirsiniz:
http://rapidshare.com/files/244717852/not.py.html
Örneğin kullanıcıdan tek tek öğrenci no ve not girilmesini isteyen ve eğer öğrenci no 0 yada - bir değer girilirse not girişini sonlandırıp sınıf ortalaması ekrana yazdıran programı python ile geliştirelim.
print "ogrenci notlarını sıra ile girin. bitis icin 0 girin"
sayac=0 # sayac sınıf mevcusunu bulmak icin kullanılır her not girişinde 1 arttırılır
toplam=0 # sınıftaki öğrencilerin notlarını toplar
no=input("ogrenci no girin:")
while no>0: # while koşulu. koşul sağlandığı sürece not girişi devam eder.
...puan=input("ogrencinin notunu girin:")
...toplam=toplam+puan # öğrencinin notlarını toplar
...sayac=sayac+1 # öğrenci mevcudunu sayar
...no=input("ogrenci no girin:") # yeni öğrenci nosunu alır
print "ogrencilerin not ortalamasi : %.2f" % float(float(toplam) / sayac)
# giriş bitince istatistiği ekrana yazdırır.
Programın kaynak dosyasına aşağıdaki linkten ulaşabilirsiniz:
http://rapidshare.com/files/244717852/not.py.html
12 Haziran 2009 Cuma
İmport ve Reload
İmport ve reload arasındaki fark ?
Öncelikle python ide ‘sinde veya DOS komut satırında komutların ne işe yaradığını hatırlayalım. DOS komut satırında komut çalıştırabilmek için başlat/donatılar/komut istemi yolu izlenir ve dos komut satırına python derleyici programını kaydettiğimiz yeri gireceğiz. Eğer Windows kullanıcısı ve ileri ilerici isek bu yol ” C:\python23\python “ olacaktır sayet benim gibi eski sürüm meraklısı değilseniz python23 ü python25 ile değiştirmeniz gerekir (sürüm 2.5)
İlk öğrenilen komut klasik “merhaba dünya” çıktısı almak olur bunun için
>>print ‘merhaba dunya’
veya
>>print ‘merhaba’ + ‘dunya’
veya
>>a=’merhaba’
>>b=’dunya’
>>print a+’ ’+b
komutları kullanılabilir. Diyelim bu küçük programı kaydetmek istiyoruz. Eğer farklı bir gui kullanmıyor isek bu iş için not defteri kullanılabilir. Nasıl yapılacak derseniz. Yukarıdaki komutları not defterine yazdıktan sonra merhabadunya.py olarak kaydedelim. Ancak burada sık yapılan bir hata text kaydetme biçimini all files durumuna getirmeden kaydetme işleminin yapılması ve sonuçta kaydedilen dosyanın merhabadunya.py.txt olmasıdır.
Text dosyasına şunlar yazalım:
a=’merhaba dunya’
print ‘merhaba dunya’
Kaydettiğimizi varsayarak bu dosyayı yükleyelim. Ve python shell ‘ e geçelim Dos yerine (içini karartıyor insanın :)
Bunun için import takısı ile
>>import merhabadunya #DOS ta ise import merhabadunya.py demeliydik
#bu arada ‘#’ işareti yorum yazmak için kullanılır. Sharp mı dersiniz Diyez mi ben bilmem
şimdi mehabadunya.py dosyası alınmış oldu.
>>merhabadunya #dediğimizde
#çıkışını alırız
şimdi merhabadunya.py doyasını text dosyası olarak açıp
b=’ben geldim’
komutunu ekleyelim. Ve
a=’merhaba dunya’
komutunu silelim Kaydetme işlemlerini anlatıldığı gibi uygulayalım. Tekrar shell programına döndüğümüzde b yi elde etmek için import takısını kullanmak yerine
reload(merhabadunya)
demek daha şık olur. Nedenine gelince import takısı bir dünya yeniden derleme gerçekleştirdiğnden kodlar=>byte kodları=>sanal makine kodları şematik olarak;
yani neymiş. Programın çalışma esnasında herhangi bir dosyadaki değişimleri havada yaklamak için reload() kullanıyormuşuz.
Öncelikle python ide ‘sinde veya DOS komut satırında komutların ne işe yaradığını hatırlayalım. DOS komut satırında komut çalıştırabilmek için başlat/donatılar/komut istemi yolu izlenir ve dos komut satırına python derleyici programını kaydettiğimiz yeri gireceğiz. Eğer Windows kullanıcısı ve ileri ilerici isek bu yol ” C:\python23\python “ olacaktır sayet benim gibi eski sürüm meraklısı değilseniz python23 ü python25 ile değiştirmeniz gerekir (sürüm 2.5)
İlk öğrenilen komut klasik “merhaba dünya” çıktısı almak olur bunun için
>>print ‘merhaba dunya’
veya
>>print ‘merhaba’ + ‘dunya’
veya
>>a=’merhaba’
>>b=’dunya’
>>print a+’ ’+b
komutları kullanılabilir. Diyelim bu küçük programı kaydetmek istiyoruz. Eğer farklı bir gui kullanmıyor isek bu iş için not defteri kullanılabilir. Nasıl yapılacak derseniz. Yukarıdaki komutları not defterine yazdıktan sonra merhabadunya.py olarak kaydedelim. Ancak burada sık yapılan bir hata text kaydetme biçimini all files durumuna getirmeden kaydetme işleminin yapılması ve sonuçta kaydedilen dosyanın merhabadunya.py.txt olmasıdır.
Text dosyasına şunlar yazalım:
a=’merhaba dunya’
print ‘merhaba dunya’
Kaydettiğimizi varsayarak bu dosyayı yükleyelim. Ve python shell ‘ e geçelim Dos yerine (içini karartıyor insanın :)
Bunun için import takısı ile
>>import merhabadunya #DOS ta ise import merhabadunya.py demeliydik
#bu arada ‘#’ işareti yorum yazmak için kullanılır. Sharp mı dersiniz Diyez mi ben bilmem
şimdi mehabadunya.py dosyası alınmış oldu.
>>merhabadunya #dediğimizde
#çıkışını alırız
şimdi merhabadunya.py doyasını text dosyası olarak açıp
b=’ben geldim’
komutunu ekleyelim. Ve
a=’merhaba dunya’
komutunu silelim Kaydetme işlemlerini anlatıldığı gibi uygulayalım. Tekrar shell programına döndüğümüzde b yi elde etmek için import takısını kullanmak yerine
reload(merhabadunya)
demek daha şık olur. Nedenine gelince import takısı bir dünya yeniden derleme gerçekleştirdiğnden kodlar=>byte kodları=>sanal makine kodları şematik olarak;
yani neymiş. Programın çalışma esnasında herhangi bir dosyadaki değişimleri havada yaklamak için reload() kullanıyormuşuz.
Python Tutorial 1 (if / else)
Bir yeni metin belgesi oluşturalım ve ilk python programımızı kodlamaya başlayalım.
# Kullanıcıya basit bir menu sunularak bu menüye göre seçeceği işlem ile gireceği sıcaklık değerini Fahrenheit'a yada dereceye çevirip ekrana yazıdracak program geliştirilmesi isteniyor.
print "1-Fahrenheit'tan dereceye cevir"
print "2-Derece'den Fahrenhet'a çevir"
print "------------------------------"
secim=raw_input("seciminizi girin:")
if (secim=='1'):
sicaklik=input("sicaklik girin:")
sonuc=(sicaklik-32)/1.8
print " %d Fahrenheit %d derecedir" % (sicaklik,sonuc)
if (secim=='2'):
sicaklik=input("sicaklik girin:")
sonuc=(sicaklik*1.8)+32
print " %d derece %d fahrenheit'dır" % (sicaklik,sonuc)
else:
exit
Görüldüğü gibi c'de yazdığımız programla arasında pek bir fark yok. Şimdi farkları inceleyelim.
Python'da temel olarak 2 giriş çeşidi vardır.
1) input
2) raw_input
Kısaca değinecek olursak input ekrana yazdığımız açıklamanın sonucu olan bir nesneyi döndürürken, raw_input standart bir stringi döndürecektir.
Yani koda bakarsak input("siceklik gir:") dediğimizde input sicaklik degerini döndürürken raw_input("secim gir:") dediğimizde seçimden sonra input("sicaklik gir:") (sicaklik gir stringini) döndürecektir.
Bir de girintili yazım stiline bakalım. C'de kullandığımız { } ler burda girintili yazım şekline dönüştürülmüş. komuttan sonra : ile satır içine geçebiliriz.
exit programı sonlandırır.
Böylece ilk python tutorial'ımızı başarıyla tamamladık.
Yukarıdaki kodları metin belgemize adı derece uzantısı .py olarak kaydedelim. Daha sonra metin belgesine sağ tıklayıp edit with idle ile shell'de açalım ve f5 ile programımızı çalıştıralım.
Syntax hataları f5 yaptıktan sonra varsa gösterilecektir.
Herkese bol pythonlu günler.
tyln
# Kullanıcıya basit bir menu sunularak bu menüye göre seçeceği işlem ile gireceği sıcaklık değerini Fahrenheit'a yada dereceye çevirip ekrana yazıdracak program geliştirilmesi isteniyor.
print "1-Fahrenheit'tan dereceye cevir"
print "2-Derece'den Fahrenhet'a çevir"
print "------------------------------"
secim=raw_input("seciminizi girin:")
if (secim=='1'):
sicaklik=input("sicaklik girin:")
sonuc=(sicaklik-32)/1.8
print " %d Fahrenheit %d derecedir" % (sicaklik,sonuc)
if (secim=='2'):
sicaklik=input("sicaklik girin:")
sonuc=(sicaklik*1.8)+32
print " %d derece %d fahrenheit'dır" % (sicaklik,sonuc)
else:
exit
Görüldüğü gibi c'de yazdığımız programla arasında pek bir fark yok. Şimdi farkları inceleyelim.
Python'da temel olarak 2 giriş çeşidi vardır.
1) input
2) raw_input
Kısaca değinecek olursak input ekrana yazdığımız açıklamanın sonucu olan bir nesneyi döndürürken, raw_input standart bir stringi döndürecektir.
Yani koda bakarsak input("siceklik gir:") dediğimizde input sicaklik degerini döndürürken raw_input("secim gir:") dediğimizde seçimden sonra input("sicaklik gir:") (sicaklik gir stringini) döndürecektir.
Bir de girintili yazım stiline bakalım. C'de kullandığımız { } ler burda girintili yazım şekline dönüştürülmüş. komuttan sonra : ile satır içine geçebiliriz.
exit programı sonlandırır.
Böylece ilk python tutorial'ımızı başarıyla tamamladık.
Yukarıdaki kodları metin belgemize adı derece uzantısı .py olarak kaydedelim. Daha sonra metin belgesine sağ tıklayıp edit with idle ile shell'de açalım ve f5 ile programımızı çalıştıralım.
Syntax hataları f5 yaptıktan sonra varsa gösterilecektir.
Herkese bol pythonlu günler.
tyln
Python Derleme
Python'u indirebileceğiniz adresleri ve python hakkında ön bilgiyi blogumda "Python nedir?" adlı başlıkta bulabilirsiniz.
Şimdi biraz Python kodlarımızı nasıl derleriz ona bakalım.
Python'u bilgisayarımıza kurduysak karşımıza IDLE (Python Gui) ve Python Command Line diye 2 seçenek çıkacak. Biz Python Gui'yi kullanacağız. (Python Shell)
Shell'i çalıştırdığımızda karşımıza credits bölümü çıkar ve altında hemen >>> ile komut satırı gelir karşımıza. >>> shell'in düzgün başladığını ve komut girişine başlayabileceğimiz anlamına gelir.
Python'u hesap makinesi olarak kullanabilirsiniz.
Örneğin shell'imizde hemen bir kaç komut yazalım:
>>> 4+4 # 2 sayı toplama
8
>>> a=20 # deger atama
>>> a
20
>>> a + 10
30
>>> print "hello world" # ekrana string yazdırma
hello world
Örnekler çoğaltılabilir. (# yorum yazmamıza imkan sağlar.)
Shell'imizde f5 e bastığımızda programımız shell ekranında çalışır hale gelir.
Python kodlarımızı bir notepad'e kaydedip daha sonra uzantısını .py olarak değiştirelim. Dosyamıza sağ tıklayıp edit with IDLE dediğimizde kodlar python shell ile çalıştırılacaktır. f5 yaptığımızda programımız shell ekranında çalışmaya başlar.
Şimdilik bu çalıştırma işlemi bize yeterli olacaktır. Birdahaki yazımda python kodlarını import / reload etmekten bahsedeceğim
Bol pythonlu günler.
tyln
Şimdi biraz Python kodlarımızı nasıl derleriz ona bakalım.
Python'u bilgisayarımıza kurduysak karşımıza IDLE (Python Gui) ve Python Command Line diye 2 seçenek çıkacak. Biz Python Gui'yi kullanacağız. (Python Shell)
Shell'i çalıştırdığımızda karşımıza credits bölümü çıkar ve altında hemen >>> ile komut satırı gelir karşımıza. >>> shell'in düzgün başladığını ve komut girişine başlayabileceğimiz anlamına gelir.
Python'u hesap makinesi olarak kullanabilirsiniz.
Örneğin shell'imizde hemen bir kaç komut yazalım:
>>> 4+4 # 2 sayı toplama
8
>>> a=20 # deger atama
>>> a
20
>>> a + 10
30
>>> print "hello world" # ekrana string yazdırma
hello world
Örnekler çoğaltılabilir. (# yorum yazmamıza imkan sağlar.)
Shell'imizde f5 e bastığımızda programımız shell ekranında çalışır hale gelir.
Python kodlarımızı bir notepad'e kaydedip daha sonra uzantısını .py olarak değiştirelim. Dosyamıza sağ tıklayıp edit with IDLE dediğimizde kodlar python shell ile çalıştırılacaktır. f5 yaptığımızda programımız shell ekranında çalışmaya başlar.
Şimdilik bu çalıştırma işlemi bize yeterli olacaktır. Birdahaki yazımda python kodlarını import / reload etmekten bahsedeceğim
Bol pythonlu günler.
tyln
10 Haziran 2009 Çarşamba
Python nedir Python'a giriş
Python nesne yönelimli, yorumlanabilen, birimsel(modüler) ve etkileşimli bir programlama dilidir.
Girintilere dayalı basit sözdizimi, dilin öğrenilmesini ve akılda kalmasını kolaylaştırır. Bu da ona söz diziminin ayrıntıları ile vakit yitirmeden programlama yapılmaya başlanabilen bir dil olma özelliği kazandırır.
Modüler yapıyı, sınıf dizgesini (sistem) ve her türlü veri alanı girişini destekler. Hemen hemen her türlü platformda çalışabilir. (Unix , Linux, Mac, Windows, Amiga, Symbian Os bunlardan birkaçıdır). Python ile sistem programlama, kullanıcı arabirimi programlama, ağ programlama, uygulama ve veritabanı yazılımı programlama gibi birçok alanda yazılım geliştirebilirsiniz. Büyük yazılımların hızlı bir şekilde prototiplerinin üretilmesi ve denenmesi gerektiği durumlarda da C ya da C++ gibi dillere tercih edilir.
Daha ayrıntılı bilgi için:
http://tr.wikipedia.org/wiki/Python_(programlama_dili)
Python vs 3.1 download için:
http://www.python.org/download/releases/3.1/
Girintilere dayalı basit sözdizimi, dilin öğrenilmesini ve akılda kalmasını kolaylaştırır. Bu da ona söz diziminin ayrıntıları ile vakit yitirmeden programlama yapılmaya başlanabilen bir dil olma özelliği kazandırır.
Modüler yapıyı, sınıf dizgesini (sistem) ve her türlü veri alanı girişini destekler. Hemen hemen her türlü platformda çalışabilir. (Unix , Linux, Mac, Windows, Amiga, Symbian Os bunlardan birkaçıdır). Python ile sistem programlama, kullanıcı arabirimi programlama, ağ programlama, uygulama ve veritabanı yazılımı programlama gibi birçok alanda yazılım geliştirebilirsiniz. Büyük yazılımların hızlı bir şekilde prototiplerinin üretilmesi ve denenmesi gerektiği durumlarda da C ya da C++ gibi dillere tercih edilir.
Daha ayrıntılı bilgi için:
http://tr.wikipedia.org/wiki/Python_(programlama_dili)
Python vs 3.1 download için:
http://www.python.org/download/releases/3.1/
Kaydol:
Kayıtlar (Atom)