|
|
| |||||||
![]() |
| | Seçenekler |
|
#1
| ||||
| | ||||
Python dili ile algoritma örnekleripython algoritmaya başlamak için iyi bir dildir. kendim pythona başlarken yazdığım birkaç öğneği paylaşmak istiyorum. alıp özgür bir şekilde paylaşabilir değiştirebilirsiniz! TEK ŞART kodun içindeki #kodlama: banias yazınısı silmeyiniz zipli arşivi içindekileri ekrana düzün bir şekilde yazdırır formatı şu şekildedir dosya adi boyutu son boyutu sıkıştırılma yuzdesi dosya1 100 50 %50 dosya2 100 50 %50 HTML-Kodu: #!/usr/bin/python
#kodlama: banias
import zipfile
zipli = zipfile.ZipFile("/home/banias/zipli.zip")
#print zipli.namelist()
for i in range (0,30):
print ""
print "-"*47
print " dosya adi "," "*5,"boyut ", "son ", "yuzde"
print "-"*47
for i in zipli.infolist():
yuzde = (i.file_size*1.0 - i.compress_size*1.0)/i.file_size*10000.0
yuzde = int(yuzde)/ 100.0
g=len(str(yuzde))
h=5-g
a=len(i.filename)
b=16-a
c=len(str(i.file_size))
d=6-c
e=len(str(i.compress_size))
f=6-e
print "| ",i.filename,"-"*b, i.file_size,"-"*d, i.compress_size,"-"*f, yuzde,"%"," "*h,"|"
print "-"*47 |
|
#2
| ||||
| | ||||
python ile linux komutu çalıştırmakbu örnek pyhton ile linux komutlarına nasıl ulaşabileceğiniz gösterebilir bu örnekte wget i kullandır mesela Kod: #!/usr/bin/python
#kodlama: banias
import os
adresgif = "http://members.comu.edu.tr/nyucel/bm110/comu.gif"
adreshash = "http://members.comu.edu.tr/nyucel/bm110/MD5SUM"
print "LUFEN BEKLEYIN: \n dosyalar indiriliyor"
os.system ("wget "+ adresgif)
os.system ("wget "+ adreshash)
print "dosyalar indirildi"
hash1 = os.system("md5sum comu.gif")
#hash1 = open('MD5SUM2',"r")
hash2 = open('MD5SUM' ,"r")
#hash1 = hash1.readlines()
hash2 = hash2.readlines()
hash1 = str(hash1)
hash2 = str(hash2)
hash1 = hash1[:34]
hash2 = hash2[:34]
print hash1 ,": resim dosyasinin imzasi"
print hash2 ,": indirilen imza"
if hash1 == hash2:
print "dosya duzgun indirilmis"
else:
print "dosya hatali indirilmis olabilir" "http://members.comu.edu.tr/nyucel/bm110/comu.gif" gif dosyasını indiriyor "http://members.comu.edu.tr/nyucel/bm110/MD5SUM" dosyanın MD5 imzanısını indiriyor imzayı okuyor, gif dosyasının imzasını alıyor ikisi aynı ise dosya başarıyla indirildi yazıyor. |
|
#3
| ||||
| | ||||
pyhton ile sayısal lotoya para vermek istemeyenler için : )birgün otururken 3 arkadaş iddaya girdik hepimiz matematiği iyi derecede biliriz ama ben mantık olarak sayısal lotoda 1,2,3,4,5,6 gibi ardaşık gelmesinin 1,5,12,32,37,40 gibi bir sayı gelmesinden daha düşük olduğunu söyledim ve denedik : ) Kod: #!/usr/bin/python
#kodlama: banias
import random
kackolon = int(raw_input("kac kolon oynamak istiyorsun?: "))
kolonlar = []
guvenc=[6,12,16,21,43,48]
emre=[1,2,3,4,5,6]
orcun=[11,12,13,14,15,16]
for a in range (0,kackolon):
kutu = range(1,50)
kolon = []
for i in range (0,6):
temp = random.choice(kutu)
kolon.append(temp)
kutu.remove(temp)
kolon.sort()
if kolon == guvenc:
print "guvenc kazandi"
break
if kolon == emre:
print "emre kazandi"
break
if kolon == orcun:
print "orcun kazandi"
break
if kolonlar.count(kolon) < 0:
a=a-1
else:
kolonlar.append(kolon) emre=[1,2,3,4,5,6] =[11,12,13,14,15,16] oynadığımız kolonlar bunlardı : ) güvenç benim bu arada orcunun yazdığı başka bir örnek için: biz 15 dakika falan bekledik kimse kazanmadı : ) sıkıldık kapattık hatta bu anların youtube da videosu da var. |
|
#4
| ||||
| | ||||
yılana sayısal loto oynatınpython a sayısal loto oynatın Kod: #!/usr/bin/python
#kodlama: banias
import random
kackolon = int(raw_input("kac kolon oynamak istiyorsun?: "))
kolonlar = []
for a in range (0,kackolon):
kutu = range(1,50)
kolon = []
for i in range (0,6):
temp = random.choice(kutu)
kolon.append(temp)
kutu.remove(temp)
kolon.sort()
if kolonlar.count(kolon) < 0:
a=a-1
else:
kolonlar.append(kolon)
kac = 1
for i in kolonlar:
print kac, ": " ,
print i
kac = kac+1 ![]() |
|
#5
| ||||
| | ||||
python ile menü örneğiKod: #!/usr/bin/python
#kodlama: banias
def fonk1():
print "menude fonk1 calisti"
def fonk2():
print "menude fonk2 calisti"
def fonk3():
print "program kapaniyor : ) kisacasi"
def fonk4():
print "menude fonk4 calisti"
secenek = ""
menu= {
'a':fonk1,
'b':fonk2,
'c':fonk3,
'd':fonk4
}
while secenek <> 'c':
secenek = raw_input("bisey gir: ")
menu[secenek]() |
|
#6
| ||||
| | ||||
python ile matris işlemleri, matris çarpma toplama, transpoze (menü ile yapılmıştır)Kod: #!/usr/bin/python
#kodlama: banias
import random
for i in range(0,40):
print ""
g = int(raw_input('kare matrislerin sutun sayisi?: '))
def matrisolustur1():
global matris1
matris1=[]
for a in range (0,g):
temp = []
for i in range (0,g):
a = random.randrange(3,10)
temp.append(a)
matris1.append(temp)
def matrisolustur2():
global matris2
matris2=[]
for a in range (0,g):
temp = []
for i in range (0,g):
a = random.randrange(1,20)
temp.append(a)
matris2.append(temp)
matrisolustur1()
matrisolustur2()
def bas(matris):
for i in matris:
print i
print "birinci matris"
bas(matris1)
print ""
print "ikinci matris"
bas(matris2)
def matristopla():
global matris3
matris3=[]
for i in range(0,g):
temp=[]
for a in range(0,g):
temp.append(matris1[i][a]+matris2[i][a])
matris3.append(temp)
bas(matris3)
def matristranspoze():
global matris3
matris3=[]
for i in range(0,g):
temp=[]
for a in range(0,g):
temp.append(matris1[a][i])
matris3.append(temp)
bas(matris3)
def matriscarp():
global matris3
matris3=[]
temp2=[]
for x in range(0,g):
for i in range(0,g):
temp=[]
for a in range(0,g):
temp.append(matris1[x][a]*matris2[a][i])
sayi = 0
for t in temp:
sayi = sayi + t
temp2.append(sayi)
for a in range (0,g):
temp=[]
for i in range (0,g):
kac = a*g + i
temp.append(temp2[kac])
matris3.append(temp)
bas(matris3)
menu = {
"1" : matriscarp,
"2": matristopla,
"3": matristranspoze,
}
print """
1 - carp
2 - topla
3 - transpoze alma"""
menune = raw_input("ne islemi yapacaksin ?: ")
print ""
menu[menune]() 3*3 boyutlarında rastgele sayılardan bir matris oluşturur ve bunları ekrana yazar ne yapmak istediğinizi sorar 1 - carp 2 - topla 3 - transpoze al 2 girdiğinizde iki matrisi çarpar genelde matris çarpma işlemi ilk etapta karmaşık gelir. python ile matris çarpma için iyi bir örnek ![]() |
|
#7
| ||||
| | ||||
python vize, final , sınav soruları : )bu en sevdiğim örneklerden biri bu soruyu bize vize sorusu olarak sormuştu hocamız. Sıvandaki tek soru buydu ve 100 puan değerindeydi. SORU ÖZET: eski zamanda yaşayan bir kral var ve 1000 tane askeri var. askerleri halka oluşturacak şekilde (yağ satarım bal satarım oynar gibi) diziyor. birinci askere kılıcı veriyor, kılıç kimdeyse sağındakini öldürüp kılıcı diğerine veriyor. yani ilk etapta 1 2 3 4 5 6 7 8 ......... varken 1 * 3 * 5 * 7 *..... şeklinde ölüp devam ediyor. kaçıncı sıradaki asker hayatta kalır? bunu biraz daha dinamik yazdım ben kaç asker olduğunu ve ilk başta kılıcı kime vereceğinizi size soruyor program : ) vede çok pratik yani kısa bir çözüm oldu. Kod: #!/usr/bin/python
#kodlama: banias
dizi=[]
a=int(raw_input("kac kisi?: "))
basla=int(raw_input("kacinci kisiden baslasin?: "))
for i in range(1,a+1):
dizi.append(i)
while len(dizi) > 1:
dizi.remove(dizi[basla])
basla = basla + 1
if basla >= len(dizi):
basla = basla%len(dizi)
print dizi |
| banias için teşekkür eden üyeler: | ||
|
#8
| ||||
| | ||||
python ve zarlar10000 tane zar atıyor bunların içinden kaç tanesi 6 - 6 kaç tanesi 5 - 3 geldi bunları ekrana yazıyor : ) Kod: #!/usr/bin/python #kodlama: banias import random for i in range (0,40): print "" for i in range (0,7): print """ """, for t in range (0,7): ali = i*7+t+1 if ali < 10: print "",ali, else: print ali, print "" print "" print "" def fak(a): sayi = 1 for i in range (0,a): sayi = sayi*(i+1) return sayi #print 1.0/(fak(49)/(fak(6)*fak(43))*1.0) c=0 d=0 for i in range(0,10000): a=random.randrange(1,7) b=random.randrange(1,7) if a==5 and b==3: c=c+1 if a==6 and b==6: d=d+1 print "5,3 sayisi: ",c print "" print "6,6 sayisi: ",d |
| banias için teşekkür eden üyeler: | ||
|
#9
| ||||
| | ||||
bloklu yapıyı anlamakbu güzel bir örnek değil ama siz yinede inceleyin magic matris diye birşey vardır, tüm satırlarının ve tüm sutunlarının toplamı birbirine eşit olur. matris kare olmak zorundadır. 3*3 bir magic matrisin tüm elemanları 0 1 2 3 4 5 6 7 8 dir. programın yaptığı: 4*4 lük magic matris oluşturana kadar debeleniyor. eğer oluşturabildiyse ekrana yazıyor. bu da ayrı bir sınav sorusu idi 100 puan değerinde. ama en doğru çözümü bu olmayabilir. Kod: #!/usr/bin/python
#kodlama: banias
import random
def matrisyap():
global matris
elemanlar=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
matris = [0]
for i in range(0,15):
b = len(elemanlar)
a=random.randrange(0,b)
matris.append(elemanlar[a])
elemanlar.remove(elemanlar[a])
while 1:
matrisyap()
if(matris[0]+matris[1]+matris[4]+matris[5] == 30):
if(matris[1]+matris[2]+matris[5]+matris[6] == 30):
if(matris[2]+matris[3]+matris[6]+matris[7] == 30):
if(matris[3]+matris[4]+matris[7]+matris[8] == 30):
if(matris[4]+matris[5]+matris[8]+matris[9] == 30):
if(matris[5]+matris[6]+matris[9]+matris[10] == 30):
if(matris[6]+matris[7]+matris[10]+matris[11] == 30):
if(matris[7]+matris[8]+matris[11]+matris[12] == 30):
if(matris[8]+matris[9]+matris[12]+matris[13] == 30):
if(matris[9]+matris[10]+matris[13]+matris[14] == 30):
if(matris[10]+matris[11]+matris[14]+matris[15] == 30):
print matris |
|
#10
| ||||
| | ||||
?ipv6 adresimi değil mi?ipv4 şu anda kullandığımız iplerdir. gelencekte hatta şu anda yeni yeni kullanılmaya başlanan teknoloji ipv6 dır. ve şimdikinden kat kat daha fazla ip adreslemeye izin verir. programın yaptığı: girilen bir ip yi kontrol ediyor ipv6 adresi mi? değil mi? sonra ipv6 ise kısaltabilecekmi diye bakıyor. kısaltabilecekse kısaltıyor. kısa halini ekrana yazıyor. Kod: #!/usr/bin/python
#kodlama: banias
ip=raw_input('ipv6 adresini giriniz : ')
if ip.count(":") != 7:
print "kisa veya uzun ip adresi"
exit
y = ip
ip = ip.split(":")
sayilar=["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"]
for i in ip:
if len(i) == 0:
print "zaten kisa bir ip"
break
if len(i) > 4 :
print "bloklarin birisi gereginden fazla uzun"
break
for a in i:
a = str(a)
if sayilar.count(a) != 1:
print "gecersiz ip adresi"
exit
y = y.replace ("0000:0000:0000:0000:0000:0000:0000:0000","::")
y = y.replace ("0000:0000:0000:0000:0000:0000:0000",":")
y = y.replace ("0000:0000:0000:0000:0000:0000","")
y = y.replace ("0000:0000:0000:0000:0000","")
y = y.replace ("0000:0000:0000:0000","")
if (y.count("0000:0000:0000") >= 2) or (y.count("0000:0000") >= 2) or (y.count("0000") >= 2):
print "ip kisaltilamaz"
else:
y = y.replace ("0000:0000:0000","")
y = y.replace ("0000:0000","")
y = y.replace ("0000","")
print y |
|
#11
| ||||
| | ||||
| Bu kodlar internette sadece webmastersitesi.com da mevcuttur ve hepsi banias tarafından yazılıştır. Python ile ilgili sorularınız için özel mesaj gönderebilirsiniz. Lütfen kaynak belirtmeden kopyalamayınız ve #kodlama: banias yazılarını silmeyiniz |