#!/usr/bin/python# acma modu a secilince eger dosya yoksa olusturur.#dosya varsa sonuna ekleme yapar.url=open("./ds.txt","a");str=raw_input("Dosyaya yazmak icin bir cumle girin : ");devam="e"while devam=="e":url.write(str);url.write("\n");devam=raw_input("Devam etmek icin 'e' yazin : ");if devam=="e":str=raw_input("Dosya icin bir cumle girin : ");url.close();
3 Haziran 2010 Perşembe
Python ile Girilen Değeri Dosya Yoksa Oluşturup Sonuna Ekleyen Örnek
2 Haziran 2010 Çarşamba
Random ile Üretilen Sayılardan En Çok Tekrarlanan Sayıyı Bulan Python Kodu
#!/usr/bin/env python#random modülünü import ettikimport random;liste=[];tekrarlanan=0;sayi=0;#randint(baslangic,son) arasinda deger uretirfor i in range(1,30):x=random.randint(1,15)liste.append(x);if liste.count(x)>tekrarlanan:tekrarlanan=liste.count(x);sayi=x;print sayi," sayisi: ",tekrarlanan," kez tekraralnadi";liste.sort();print liste;
Rastgele Sayı Üreten Python Kodu
Python ile rastgele üretilen sayıları diziye attık ve en büyük ücüncü sayıyı ekrana yazan kdo örneği
#!/usr/bin/env pythonimport random;buyuk_sayi=0;liste=[];for i in range(20):a=random.randint(1,10);liste.append(a);liste.sort();print liste;for i in liste:if liste.count(i)<>1:for k in range(1,liste.count(i)):liste.remove(i);print liste;print "en buyuk ucuncu sayi :",liste[-3];
Pythonda Listelerde Kullanılan insert(), append(), reverse(), sort(), extend() Fonksiyonlar
#!/usr/bin/env pythonliste=["a"];liste.insert(2,1);girilen=int(raw_input("Bir tamsayi gir:"));liste.append(girilen);liste2=[11,23,45];#liste2 eleman olrak ekleniyor.liste.append(liste2);for i in liste:print i,print "liste uzunlugu : ",len(liste);liste.extend(liste2);for i in liste:print i,print "liste uzunlugu : ", len(liste);liste.sort();print "normal listemiz : ",liste;liste.reverse();print "ters cevrilsmis listemiz :",liste;
Sözlüğü Sıralayan Python Kodu
sozluksirala.py
#!/usr/bin/env pythonsozluk={"k":11,"b":23,"y":2,"a":33,"c":1}for i in sozluk:print i,"-->",sozluk[i];print "Siralanmis hali";for i in sorted(sozluk):print i,"-->",sozluk[i];
Sözlekten Anahtar ve Değeri iteritems() Okuyan Python Kodu
anhtardeger.py
#!/usr/bin/env pythonsozluk={"anahtar1":"deger1","anahtar2":"deger2","anahtar3":"deger3"}for a,d in sozluk.iteritems():print a," --> ",d;
Dosyadan Verileri Okuyup Anahtar Değer Şeklinde Sözlüğe Ekleyen Python Kodu
eslestir.py
#!/usr/bin/env pythonoku_nesnem=open("./sozluk.txt");sozluk={};for i in range(0,4):satir=oku_nesnem.readline();dizi=satir.split(":");sozluk[dizi[0]]=dizi[1];for a,d in sozluk.iteritems():print a," --> ",d;
sozluk.txt
anahtar1:deger1
anahtar2:deger2
anahtar3:deger3
anahtar4:deger4
Dosyadan Verileri Okuyup Tek Tek Listeye Ekleyen Python Kodu
listem.py
#!/usr/bin/env pythondosya=open("./dosyam");#ubuntuda dosya olusturunca .txt olmak zorunda degilsatir=1;listem=[];while satir:satir=dosya.readline();gecici=satir.split();for i in gecici:listem.append(i);for i in listem:print i;
dosyam
mehmet
ethem sulan
nereye gidiyor bu adam
neler oluyor anlamadim ki
Sözlükteki Anahtar ve Değerini Ekrana Yazan Python Kodu
sirala.py
#!/usr/bin/env pythonsozluk={"java":"jsp","python":"django"}for i in sozluk:print i,"-->",sozluk[i];
Girilen Anahtara Karşılık Değeri Bulan Python Kodu
sozluk.py
#!/usr/bin/env pythonisim=raw_input("Bir anahtar gir: ");k=0;sozluk={"ethem":"sulan", "canakkale":"merkez","ogrenci":"evet","anahtar":"deger"}for i in sozluk:if isim==i:print "Girilen anahtara karsilik gelen deger: ",sozluk.get(i);k=1;if k==0:print "girilen anahtar sozlukte yok";
1 Mayıs 2010 Cumartesi
Pythonda While ile Girilen Sayının Mükkemel Olup Olmadığını Bulan Kod
while.py
#!/usr/bin/env python# -*- coding: utf-8 -*-#www.ethemsulan.comsayi=input("Bi deger girin : ");deg1=1;esitmi=0;while deg1<sayi:if(sayi%deg1==0):esitmi=esitmi+deg1;deg1=deg1+1;else:deg1=deg1+1;if(esitmi==sayi):print sayi, " sayisi bir mukemmel sayidir"else:print sayi," sayisi mukemmel degil"
Kodu çalıştırmak için,
Ethem@Ethem ~ $ chmod 777 while.py
Ethem@Ethem ~ $ ./while.py
Bi deger girin : 14
14 sayisi mukemmel degil
Ethem@Ethem ~ $ ./while.py
Bi deger girin : 28
28 sayisi bir mukemmel sayidir
Ethem@Ethem ~ $ ./while.py
Bi deger girin : 6
6 sayisi bir mukemmel sayidir
Ethem@Ethem ~ $ ./while.py
Bi deger girin : 34
34 sayisi mukemmel degil
Ethem@Ethem ~ $
Fibonacci Sayılarını Bulan Python Kodu
fibonacci.py
#!/usr/bin/env python# -*- coding: utf-8 -*-#www.ethemsulan.coma=0b=1while b<100:print bb,a=a+b,b
pythonda a,b=a ya atanacak deger, b ye atanacak deger gibi bir kullanım var.
Kodu çalıştırısak,
Ethem@Ethem ~ $ chmod 777 fibonacci.py
Ethem@Ethem ~ $ ./fibonacci.py
1
1
2
3
5
8
13
21
34
55
89
Ethem@Ethem ~ $
+x yerine 777 değerini de verebiliriz.
Pythonda Recursive Olarak 1 den N ye Kadar Olan Sayıların Toplamını Bulan Kod
recursive.py
#!/usr/bin/env python# -*- coding: utf-8 -*-#Fonksiyon def ile tanimlanir.# diger dillerden farkli olarak verilen parametre tipi#belirtmeye gerek yok.Python zaten algiliyor.def topla(n):if n<=1:return 1;else:return (n+topla(n-1));#input() sayi degerini alir eger string girilirse hata verir.sayi=input("Bir tam sayi girin : ");sonuc=topla(sayi);print "1 den ",sayi," kadar olan sayilarin toplami : ",sonuc;
def fonkIsmi(parametre listesi):
yapmak istedigimiz kodlari buraya yaziiyoruz.
Gene diger dilelrden farkli olara fonksiyon tipi
yani void,string,int.. seklinde belirtmiyoruz.
Recursive demek fonksiyonu kendi içinde çağırmaktır.
return n+topla(n-1) gibi.
Pardusta recursive.py dosyasını çalıştırmak için
Ethem@Ethem ~ $ chmod +x recursive.py
Ethem@Ethem ~ $ ./recursive.py
Bir tam sayi girin : 100
1 den 100 kadar olan sayilarin toplami : 5050
Pythonda raw_input(), input(), if, break Örneği
tekcift.py
#!/usr/bin/env python# -*- coding: utf-8 -*-#ww.ethemsulan.comfor i in range(10):girilen=input("Bir sayi gir : ");#Eger 5 girilirse brek ile for dan cikiyorif(girilen==5):break;elif(girilen%2==0):print girilen," sayisi cift sayidir"else:print girilen," sayisi tek sayidir"else:print "Cift ve tek degerler bulundu"
raw_input() string deger alırken input() fonksiyonu sayı değerlerini alır.
Eğer input() fonksiyonuna string değer girilirse hata verir.
Program da 5 girilirse for döngüsünden çıkıyor.Python da for ile beraber else de kullanılabilir.
Pardusta kodu çalıştırma
Ethem@Ethem ~ $ chmod +x tekcift.py
Ethem@Ethem ~ $ ./tekcift.py
Bir sayi gir : 12
12 sayisi cift sayidir
Bir sayi gir : 3
3 sayisi tek sayidir
Bir sayi gir : 4
4 sayisi cift sayidir
Bir sayi gir : 5
Ethem@Ethem ~ $
5 girilince for a ait else de çalıştırılmıyor.
if, elif ve else kullanımına da dikkat edin.
30 Nisan 2010 Cuma
Pardus'ta Python ile Çift Sayıların toplamını Bulan Kod
ciftsayi.py
#!/usr/bin/env python#raw_input() string olarak degeri alır.ustLimit=int(raw_input("Bir ust limit girin:"));toplam=0;for i in range(ustLimit:if(i%2==0):toplam=toplam+i;print "0 ile",ustLimit," arasindaki cift sayilarin toplami: ",toplam;#ornegin 4 girlsin sonuc 2 dir.Cunku range() fonksiyonu 0,1,2,3 degerlerini üretir
Çalıştırmak için de
Ethem@Ethem ~ $ chmod +x ciftsayi.py
Ethem@Ethem ~ $ ./ciftsayi.py
Bir ust limit girin:34
0 ile 34 arasindaki cift sayilarin toplami: 272
Ethem@Ethem ~ $ ./ciftsayi.py
Bir ust limit girin:10
0 ile 10 arasindaki cift sayilarin toplami: 20
Ethem@Ethem ~ $ ./ciftsayi.py
Bir ust limit girin:4
0 ile 4 arasindaki cift sayilarin toplami: 2
Pardus’ta Python ile Program Yazıp Derleme Nasıl Olur
Ilk önce sozluk.py dosyamızı oluşturup içine ,
#!/usr/bin/env python# -*- coding: utf-8 -*-sozluk={"anahtar":"deger","Kul Adi":"Paola","Isim":"Telefon"}for i in sozluk:print i,':', sozluk[i]
yukardaki kodu yazıyoruz.
sonra console geçip
Ethem@Ethem ~ $ chmod +x sozluk.py
ile doyaya erişim hakkını veriyoruz.
Console yazılacak kod: chmod +x sozluk.py
budur.Hangi dosyaya erişeceksek onunIsmi.py
Dosyayı çalıştırmak için de console
Ethem@Ethem ~ $ ./sozluk.py
yazıyoruz.Yani ./dosyaIsmi.py
Çıktımız da
anahtar : deger
Isim : Telefon
Kul Adi : Paola
Şeklinde sözlük ve değerleri ekrana yazıyoruz.For ile listelerde olduğu gibi
sözlük elemanlarına erşebiliyoruz.
Daha öncede yazdım consoleden python yazıp python geçiş yapıyoruz.
Tekrar console geri dönemk için Ctrl+d ye basıyoruz.
Python da len(), range() ve for Kullanımı
#www.ethemsulan.comlen()-->Verilen degerin uzunlugunu verir.>>> liste=["Ethem","Mehmet","SULAN","Canakkale"];>>> for i in range(len(liste)):... print i, liste[i]...0 Ethem1 Mehmet2 SULAN3 Canakkalerange(baslangic,bitis,artis miktari)Eğer bağlangış ve artış miktarı yazılmazsa otomatik 0 dan başlar ve 1 er artılıyor.>>> range(3)[0, 1, 2]>>> range(1,7,1)[1, 2, 3, 4, 5, 6]>>> range(1,11,2)[1, 3, 5, 7, 9]>>> range(1,8,4)[1, 5]For ile cümledeki kelimeler üzerinde de gezebiliriz.>>> for i in "Ne istedigine dikkat et. Cunku onu elde edersin":... print i,...N e i s t e d i g i n e d i k k a t e t . C u n k u o n u e l d e e d e r s i n
2 Nisan 2010 Cuma
Pardus’ta Python Kodunu Yazıp Derleme Işlemi Nasıl Yapılır
rast.py
#!/usr/bin/env python# -*- coding: utf-8 -*-liste=["Ankara","Istanbul","Canakkale"]for i in range(len(liste)):print i,liste[i]print "\n";sozluk={"Anahtar":"Deger","Kul Adi":"Parola","Ethem":"SULAN"}for i in sozluk:print i,":",sozluk[i]
Ethem@Ethem ~ $ chmod +x rast.py
Ethem@Ethem ~ $ ./rast.py
0 Ankara
1 Istanbul
2 Canakkale
Anahtar : Deger
Ethem : SULAN
Kul Adi : Parola
Kodumuzu kwritete yazıp rast.py şeklinde ev dizinin altına kaydettik.Sonra console kabuğunda chmod +x rast.py ile erişim izni verdik dosyamıza sonra ./rast.py yazıp entere basınca derledik python dosyasını.
Dikkat #!/usr/bin/python bütün python dosyalarında yazılmalıdır bu satır.Detaylı bilgi için: http://esulan.blogspot.com/2010/04/python-rawinput-if-elif-else-chmod-x.html bakabilirsiniz.
Python raw_input(), if-elif-else, chmod +x oku.py, ./oku.py ile Prdus’ta .py Uzantılı Dosya Oluşturma ve Derleme Asal Sayı Örneği
oku.py
#!/usr/bin/env python# -*- coding: utf-8 -*-#raw_input() string olarak degeri alir.#inte cevirdim eger string girilirse hata verir.deger=int(raw_input("Bir deger gir:"));if deger==2 or deger==3 or deger==5 or deger==7 :print deger," sayisi asaldir";elif deger<>1 and deger%2<>0 and deger%3<>0 and deger%5<>0 and deger%7<>0 :print deger," sayisi asaldir"else:print deger," sayisi asal degildir"
Pythonda kodu yazip oku.py şeklinde kaydettik.Eğer consoleden python yazippython a girmişseniz ctrl+d ye basip tekrar console çıkabilirsiniz.Kodu derleme işlemi burda olur.yani pythondaysanız >>> şeklindedir amaconsoleye yani pythondan çıkmışsanız bilgIsmi@pardusü~$ şeklindedirbilgIsmi@pardus~$ ye yazacağım değerleri girip kodu derleyebiliriz.chmod +x oku.py yazip entere tıklayın.Bununla programa çalıştırma yetkisi veriyoruz../oku.py yazıp entere basıyoruz.Bu kodu derler.Dikkat oku bizim .py dosyamızın ismidir.Ekrana bir değer girin yazısı çıkar ve değeri girip entere basınca girilen sayının asalsayı olup olmadığını ekrana yazar.Başka sayı girmek için bir yukarı yö tuşuyla ./oku.pygidip entere basınca tekrar kodu çalıştırır.Bütün .py uzantılı dosyaların başına#!/usr/bin/env python yazılmalıdır.env eğer dosyanız en dizininde değilse herhangibir yerdeyse yazılır.env zorunlu değil.chmod +x dosyaismi.py bir sefer yetkiyi verdikten sonra oturum açık olduğu sürece artık./oku.py yani direkt çalıştırabiliriz kodumuzu.Yetki her oturum için bir sefer vermek yeterlidir.Ethem@Ethem ~ $ chmod +x oku.pyEthem@Ethem ~ $ ./oku.pyBir deger gir:3737 sayisi asaldirEthem@Ethem ~ $ ./oku.pyBir deger gir:1818 sayisi asal degildir
Python range() Fonksiyonu
>>> for i in range(20,40,3):... print i,...20 23 26 29 32 35 38>>> for j in range(10,15):... print j,...10 11 12 13 14range(başlangiç değeri, bitiş değeri, artma miktari)-->Eğer artma miktari belirtilmezsedefault olarak 1 alınır.Yani birer birer artar.