Skip to content

Posts from the ‘python’ Category

26
Dec

3. Dereceden Denklemin Köklerini Bulma

.

3. dereceden bir denklemin bir tane reel iki tane de imajiner kökü bulunur. Python ile bu reel kökü bulmak için şu fonksiyonu yazabiliriz:

def denklem_koku(a,b,c,d):
	return -b / (3.0 * a) - (2.0 ** (1.0 / 3.0) * (-b ** 2.0 + 3.0 * a * c)) / (3.0 * a * (-2.0 * b ** 3.0 + 9.0 * a * b * c - 27.0 * a ** 2.0 * d + math.sqrt(4.0 * (-b ** 2.0 + 3.0 * a * c) ** 3.0 + (-2.0 * b ** 3.0 + 9.0 * a * b * c - 27.0 * a ** 2.0 * d) ** 2.0)) ** (1.0 / 3.0)) + (-2.0 * b ** 3.0 + 9.0 * a * b * c - 27.0 * a ** 2.0 * d + math.sqrt(4.0 * (-b ** 2.0 + 3.0 * a * c) ** 3.0 + (-2.0 * b ** 3.0 + 9.0 * a * b * c - 27.0 * a ** 2.0 * d) ** 2.0)) ** (1.0 / 3.0) / (3.0 * 2.0 ** (1.0 / 3.0) * a)

Read moreRead more

22
Jan

İÜ-RSS: Elektrik-Elektronik Müh. Duyuruları RSS Adresi

.

Bölümümün sayfasındaki duyuruları okumak için neden bir RSS ouÅŸturdum? Bu sorunun cevabı, aÅŸağıdan yukarı doÄŸru kayan duyuruların en yakın tarihli olanı, sayfa açıldıktan birkaç milisaniye sonra kaybolması ve okumak için kayan yazıların birinci turu bitirip ikinci tura baÅŸlamasını beklemek. Her seferinde daha hızlı okumak için arÅŸive girmem gerekiyordu. Ben de hemen kolları sıvayıp sadece 2.3 KB boyutunda olan bir python betiÄŸi yazıp GAE üzerinde çalıştırmaya baÅŸladım. Kod basit bir web scraper olarak çalışıyor ve çektiÄŸi verileri iÅŸleyip RSS formatına çeviriyor. Åžimdi keyifle Google Reader’da gelen duyuruları inceliyorum. Siz de iu-rss.appspot.com adresinden ulaÅŸabilirsiniz.

Güncelleme

Artık sınav sonuçları da RSS olarak izlenebiliyor ilgilere duyurulur.

3
Oct

Django Öğrenebileceğiniz 24 Kaynak

Popularitesi hızla yükselen bir programlama dili olan Python ile yazılmış mükemmel bir web çatısı olan Django‘yu öğrenmek iÅŸte size 24 kaynak.

Read moreRead more

4
Aug

Python ile FTP iÅŸlemleri

Dün cep telefonumdan(eski toprak N6600) ftp ile dosya göndermeye çalışırken kullandığım python scriptini sizinle paylaşmak istiyorum. Burada yazacağımız kodları ister bilgisayarınızdan ister Python destekleyen telefonunuzdan çalıştırabilirsiniz. Yapacağımız örneklerin kaynak dosyasını buradan indirebilirsiniz.

Önce ftplib kütüphanesine sahip olup olmadığımızı anlamak için aşağıdaki kodu yazalım.

Read moreRead more

24
Sep

Google App Engine ile Alexa Rank DeÄŸerini Okuma – urlfetch fonksiyonu

Bugünlerde sitemin alexa rank değeri aniden 2 katından fazla artınca biraz kafayı taktım. Derken Google App Engine ile değeri okumaya çalıştım ve sizinle paylaşıyorum.

Bu yazıyı okumaya devam etmeden önce şuradaki yazımı okumanızı öneriyorum.

Önce alexa isminde bir çalışma dizini oluşturuyoruz. Bu dizinin içine app.yaml isminde bir dosya oluşturuyoruz. Dosyanın içeriğini şöyle yapıyoruz:

application: alexa-rank-ogren
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
script: main.py

Read moreRead more

11
Sep

Python ile MySQL Bağlantısı ve Temel İşlemler

python-mysql
Python ile MySQLe bağlanmak için önce MySQLdb kütüphanesini şuradan indirip kuralım. Kütüphanenin doğru çalışıp çalışmadığını kontrol etmek için pythonu açıp kütüphaneyi import etmeye çalışalım.

import MySQLdb

Eğer problem yoksa devam edebiliriz. Önce veritabanına bağlanmak için sunucu, kullanıcı adı, parola ve veritabanı ismini girelim.

import MySQLdb
db = MySQLdb.connect(host="localhost",user="root",passwd="par01a",db="python")
cursor = db.cursor()

şimdi istediğimiz sorguları yazabiliriz.
Read moreRead more

11
Sep

PyS60 ile SMS Yedekleme

pysms
Eğer smslerinizi silmek istemiyorsanız ve gelen kutusu yüzlerce sms ile dolduysa ve telefonunuzun sms yedekleme özelliği yoksa Python sizin yardımınıza hemen yetişir (Tabi işletim sisteminiz Symbian olması lazım!).

Hemen inbox kütüphanesini kullanarak 1 KB’den daha az bir betik yazarak tüm smslerinizi text dosyası olarak yedekleyip gönül rahatlığıyla silebilirsiniz. Hemen kodlara geçelim:

from time import  ctime
from inbox import Inbox
from os import listdir,mkdir

kutum = Inbox()
id = kutum.sms_messages()
yol = "e:\\mesajlar\\"
if not 'mesajlar' in listdir('e:\\'):
    mkdir(yol)
sayi = 10 #yedeklenmesini istediÄŸiniz sms adedi
for i in range(0,sayi):
    msj = kutum.address(id[i])+'\n'+ctime(kutum.time(id[0]))+'\n'+kutum.content(id[i])
    h,ay,gun,saat,yil = ctime(kutum.time(id[i])).split(" ")
    sa,dk,sn=saat.split(':')
    d = gun+ay+yil+'-'+sa+'.'+dk+'.'+sn+'-'+kutum.address(id[i])+".txt"
    dosya = open(yol+d,'w')
    dosya.write(msj.encode('utf-8'))
    dosya.close()
print str(sayi)+" adet mesaj '"+yol+"' dizinine kaydedildi."

Read moreRead more

8
Sep

PyS60 ile Telefon Rehberi Yedekleme

Bugün karşılaÅŸtığım bir olaydan sonra Python’u daha çok sevmeye baÅŸladım. Nokia 6600 rehberini yedeklemeye çalıştık birkaç rehber programı kullandık vCard formatında çıkardı ama isimlerin yaklaşık olarak yarısı görünmedi yani tam olarak alamadık. Derken iÅŸ baÅŸa düştü ve PyS60 ile birkaç satırda hallettik ve bunu sizinle burada paylaşıyorum.

import contacts
rehber=contacts.open()
liste=''
s=len(rehber)
for id in rehber:
    try:
        isim=rehber[id][0].value
    except:
        isim='isim yok'
    try:
        no=rehber[id][1].value
    except:
        no='numara yok'
    liste = liste+isim+'-'+no+'\n'
dosya_adi = 'e:\\rehber-yedek.txt'
dosya = open(dosya_adi,'w')
dosya.write(liste.encode('utf-8'))
dosya.close()
print s,' kisi "'+dosya_adi+'" adresine yedeklendi.'

Read moreRead more

21
Aug

Python ile Resim Üzerine Yazı Yazma

Python ile grafik işleme yapabilmek için PIL (Python Imaging Library) kütüphanesini kullanıyoruz. Kütüphanenin işletim sistemi ve Python sürümümüze uygun olan versiyonunu indirip kuralım. Kütüphanenin doğru bir şekilde kurulup kurulmadığını test etmek için Python komut satırına şunu yazalım:

import PIL

Herhangi bir hata vermediyse kütüphane yüklenmiştir. Şimdi işlem yapmaya başlayabiliriz.

from PIL import Image
resim = Image.open("test.jpg")
print resim.size

(241,172)
Read moreRead more

21
Jun

Pardus’a Google App Engine Kurulumu

Önceki yazılarımda Google App Engine’den biraz bahsetmiÅŸtim. Kodlarımızı GAE sunucularına yüklemek için veya yerelde çalıştırmak için bir uygulama kullanıyoruz. Windwos için bu uygulama bir .exe dosyası ve çalıştırıp kuruyoruz. Burada sorun yok. Fakat bu uygulamanın Linux versiyonu ise bir .zip dosyası. Bunu nasıl kullanacağımızı görelim:

1. Adım: Uygulamayı indirelim:

şuradan google_appengine_1.2.3.zip dosyasını indiriyoruz.

2. Adım: indirdiÄŸimiz zip dosyasını açıp /home/faruk/gae (burada ‘faruk’ yerine sizin kullanıcı adınız gelecek) dizinine kopyalıyoruz. Bu kısmı isterseniz saÄŸ tıklayıp buraya çıkar diyerek veya komutlarla şöyle yapabilirsiniz:

Read moreRead more