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

3 Haziran 2010 Perşembe

Python ile Girilen Değeri Dosya Yoksa Oluşturup Sonuna Ekleyen Örnek

#!/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();

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 ettik
import random;
liste=[];
tekrarlanan=0;
sayi=0;
#randint(baslangic,son) arasinda deger uretir
for 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 python
import 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 python
liste=["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 python
sozluk={"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 python
sozluk={"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 python
oku_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 python
dosya=open("./dosyam");
#ubuntuda dosya olusturunca .txt olmak zorunda degil
satir=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 python
sozluk={"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 python
isim=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.com
sayi=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.com
a=0
b=1
while b<100:
  print b
  b,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.com
for i in range(10):
  girilen=input("Bir sayi gir : ");
#Eger 5 girilirse brek ile for dan cikiyor
  if(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.com
len()-->Verilen degerin uzunlugunu verir.
>>> liste=["Ethem","Mehmet","SULAN","Canakkale"];
>>> for i in range(len(liste)):
...  print i, liste[i]
...
0 Ethem
1 Mehmet
2 SULAN
3 Canakkale
range(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 yazip 
python a girmişseniz ctrl+d ye basip tekrar console çıkabilirsiniz.
Kodu derleme işlemi burda olur.yani pythondaysanız >>> şeklindedir ama 
consoleye yani pythondan çıkmışsanız bilgIsmi@pardusü~$ şeklindedir
bilgIsmi@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 asal
sayı olup olmadığını ekrana yazar.Başka sayı girmek için bir yukarı yö tuşuyla ./oku.py 
gidip 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 herhangi 
bir 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.py
Ethem@Ethem ~ $ ./oku.py
Bir deger gir:37
37  sayisi asaldir
Ethem@Ethem ~ $ ./oku.py
Bir deger gir:18
18  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 14
range(başlangiç değeri, bitiş değeri, artma miktari)-->Eğer artma miktari belirtilmezse
default olarak 1 alınır.Yani birer birer artar.