Python ile çarpanlara ayırma

Merhabalar,
Bu seferki çalışmam sizin de projelerinizde işinize yarayacak olan küçük bir kod öbeği. Hemen Python ile çarpanlara ayırma işlemini paylaşayım:

 

# -*- coding: utf-8 -*-

a = input("sayi giriniz:")
liste = [ ]
bolen = 2

for i in range(2,a):

    while a % bolen == 0:
        if a % bolen == 0:
            liste.append(bolen)
            c = a / bolen
            d = c
            a = d

    bolen += 1
print liste

 

 

Bu uygulamayı projelerinizde istediğiniz gibi kullanabilirsiniz.

Renkli günler…

Magic Square with Chosen Numbers

Magic Square yani namı değer Sihirli Kare, satır, sütun ve çapraz toplamların birbirlerine eşit olduğu bir karedir.

S = n*(n^2+1) / 2 formülü ile toplam değer bulunur. Örneğin n = 3 için S = 15 çıkar. 3 x 3’lük bir matrise 1-9 arası rakamlarımızı toplamlar 15 olacak şekilde yerleştirebiliriz.

Aşağıdaki linklerden indireceğiniz Python dosyasında bu Sihirli Kare’den baz alarak bir şeyler yazdım. Düşündüğüm, Shirli Kare rakamlarının sınırlandırılmadan işlemciye hesaplama yaptırılmasıydı. 1-9 arası değilde 1-20 arası sayılardan da toplamları eşit çıkartmak istedim. Hatta random modülü kullanarak sayıları rastgele seçip, doğru kombinasyonda ekrana yazdırmayı denedim. Tabi rakam aralığı arttıkça artan kombinaston sayısı neticesinde 6-7 milyon deneme yaptıktan sonra bulunan sonuçlar oldu. Bu da işin eğlenceli kısmı değil mi? 🙂

Buyrun siz de bu küçük programı deneyip, geliştirebilirsiniz.

İlgilenenlere : http://tr.wikipedia.org/wiki/Sihirli_Kare

http://en.wikipedia.org/wiki/Magic_square

Renkli günler…

MagicSquare.py (zip)

MagicSquare.py.tar (tar.gz)

Python & Gasp Moduluyle Yakala!

Bilgisayar Bilimcisi gibi Dusunmek isimli Turkce’ye cevirilmis bir Python kitabiyla ilerlemeye calistigim su gunlerde “Yakala!” ismini verdigim kucuk bir oyunu sizlerle paylasmak istedim.
Bu kucuk oyun Python ile kodlanip, yardimci arac olarak Gasp modulu kullanilmistir. Gasp modulu bilgisayarinizda yoksa (Linux icin) Synaptic Package Manager araciligiyla kolayca yukleyebilirsiniz.
Oyunun amaci, size gelen topu yakalamaktir. Yakalayamazsaniz puan bilgisayara yazilir.
Oyunun asil klasoru catch.py’dir.

Indirmek icin : Yakala!

Renkli gunler…

PythonTR Kod Bankası

Python kodlarının biraraya getirilmesi, uygulama gelistirme sürecinin kısaltılması ve yeni öğrenmeye başlayanlar için kaynak olması amacıyla “PythonTR Kod Bankası”  olusturulmuştur. Hazırlanan betiklerin bilgisayarınızda kaybolmasına izin vermeyin! Mail aracılığıyla göndereceğiniz programların incelenmesinin ardından Python Kod Arşivi’ne eklenecektir.

Buradan elde edeceğiniz bilgi birikimini ilerleyen projelerinizde kullanabilir enerjinizi diğer çözümler için harcayabilirsiniz. Kod kütüphanesini kullanmanın bir zararı olmamakla birlikte hazırcılıga kaçmadan modüllerin kullanımına ilişkin bilgi edinmeniz sizin Python’a olan hakimiyetinizi arttıracaktır.

İyi çalışmalar diler, emegi geçen PythonTR editörlerine ve kod yardımında bulunan Python Programcılarına teşekkür ederiz.

Pardus, Ubuntu ve Windows 7 üzerinde denenmiştir. Paket bağımlılığını azaltmak için 1.0 versiyonu minimum gereksinimler kullanılarak Tkinter arayüzü ile yazılmıştır.

İndirmek için http://code.google.com/p/pythontr-kod-bankasi/ Google Code deposunu kullanabilirsiniz.

İndirmeden PythonTR üzerinden ziyaret etmek için http://pythontr.org/PythonTR_Kod_Bankasi/ linkini kullanınız…

PythonTRKodBankasi

Python ile Kodlamak

Merhabalar,

Bir süre önce Python Programcılar Derneği’nde yazarlık başvurum kabul edilmişti. Sınavlarım dolayısıyla pek ilgilenemediğim bu zevkli işe, şimdi kolları sıvayıp bir giriş yaptım.

Uğraşımız ve amacımız Python kullanmak, onu geliştirmek ve ona Türkçe kaynak sağlamak. Yazdığım makaleyi buradan okuyabilirsiniz:

http://pythontr.org/python/42-python-hakkinda-makaleler/154-python-ile-kodlamak.html

Renkli günler…

Monkey Patching

Merhabalar,

squirrel_monkey_jumpMonkey patch, kaynak kodu (source code) bozmadan, çalışan kodda (runtime code) yapılan modifiyelerdir. Monkey patch, dinamik programlama dillerinde kullanılan bir yöntemdir. Dolayısıyla monkey patch için Python uygun bir ortamdır.

Monkey patch, çalışan programda, sınıfların veya modüllerin değişkenlerine etki eder.

Monkey patch nerelerde kullanılır?

* Çalışma süresinde (runtime) metodların, değişkenlerin, fonksiyonların değiştirilmesinde

* Kaynak koda zarar vermeden 3. parti yazılımların/kodların tekrardan düzenlenmesinde

* Diskteki kaynak kod yerine, bellekteki paketleri/uygulamaları çalışan koda eklemede

Monkey patch, orjinal  kodu bozmadan oynamalar yapabilmemizi sağlar. Bu yöntem, test aşamasındaki projelerde ya da programın güvenlik açıklarını tespit etmede kullanılır.

Renkli günler…

Qt Creator [main.o] error 127 Hatası

(Bu çalışma Linux Ubuntu 10.10 üzerinde yapılmıştır.)

Qt Creator yükledim ve çalışmaya başladım. Kodlarımı yazıp çalışmamı görmek için compile ettiğimde “[main.o] error 127” hatasıyla karşılaştım. Bu hatayı araştırırken sistemimde g++ yüklü olmadığını farkettim.

g++ yokken Qt Creator bu hatayı verir. Bu yüklemeyi gerçekleştirmek için terminalde:

sudo apt-get install g++

kod parçacığını çalıştırın ve yüklemeyi gerçekleştirin. g++ yüklendikten sonra, Qt Creator içindeki çalışmanızın hatasız çalıştığını göreceksiniz.

Renkli günler…