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…

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…

Python

Pixel içinde yaşıyoruz. ÜrettiÄŸimiz malzemeler pixel pixel, baktığımız ekranlar, yazdığımız yazılar…

Yukarıdaki çalışmam kareli kağıda bakıp ne yapsam acaba diye düşünürken ortaya çıkıverdi. Çizimi yaptıktan sonra resmi bilgisayarıma alıp birazcık oynadım. Benim çocukluÄŸum 2D ile geçti. Oynadığım oyunlar 2D, girdiÄŸim siteler 2D ve 2 renkti. Åžimdiki nesil 3D ile büyüyor. Ama 3D bana 2D kadar zevk vermiyor. Kullandığımız kareli kağıtlar 2D çalışmalar için ideal ortamlardır. EÄŸer 2D’yi benim gibi seviyorsanız haydi sizde çalışmaya  baÅŸlayın. Bu resmi özgürce çalışmalarınızda kullanabilirsiniz.

Tasarım sanattır…

Python, nesne yönelimli, yorumlanabilen, birimsel (modüler) ve etkileşimli bir programlama dilidir.

Girintilere dayalı basit sözdizimi, dilin öğrenilmesini ve akılda kalmasını kolaylaştırır. Bu da ona söz diziminin ayrıntıları ile vakit harcamadan programlama yapılmaya başlanabilen bir dil olma özelliği kazandırır.

Modüler yapıyı, sınıf dizgesini (sistem) ve her türlü veri alanı girişini destekler. Hemen hemen her türlü platformda çalışabilir. (Unix , Linux, Mac, Windows, Amiga, Symbian). Python ile sistem programlama, kullanıcı arabirimi programlama, ağ programlama, uygulama ve veritabanı yazılımı programlama gibi birçok alanda yazılım geliştirebilirsiniz. Büyük yazılımların hızlı bir şekilde prototiplerinin üretilmesi ve denenmesi gerektiği durumlarda da C ya da C++ gibi dillere tercih edilir.

Kaynak:

(tr) http://tr.wikipedia.org/wiki/Python/programlama_dili/

(eng) http://en.wikipedia.org/wiki/Python/programminglanguage/