JavaScript ile 2 ile 36 sayı tabanları arası çeviri yapan basit bir script. Pardus üzerinde kodlamaya başladığım ve Windows üzerinde FF, Chrome ve IE8 üzerinde test ettiğim için eski tarayıcılarda problem olabilir, bakmadım henüz.
Qt Designer ile tasarlanan arayüzlerin Python ile kullanılabilmesi için pyuic4 ile kod çevriminin yapılması amacıyla konsol üzerinde
pyuic4 gui_dosya.ui > gui_dosya.py
tipi bir komutun işletilmesi yerine, sağ tık menüsüne kısayol atanması işi daha rahat kılar.
Bu iş, basit bir regedit düzenlemesi ve python kodu ile halledilebilir. Buradaki python kodunun görevi, çevrimi yapılan .ui dosyasıyla aynı isme sahip .py dosyası oluşturulmasına yardımcı olmak. Komut satırındaki string düzenleme olayı -en azından bende- doğru düzgün çalışmadığı için ek python kodu kullandım.
Dosyalar
pyuic_menu.reg: Kayıt defterine ekleme yapan kod. Çift tık ile çalıştırılması yeterlidir.
pyuic_cevir.py : Path sistemdeğişkeni dahilinde olan bir dizine yerleştirilmesi yeterlidir. Python‘un ana dizinine kopyalanmasını tavsiye ederim. (C:\Python26\ gibi)
Bu işlemlerden sonra .ui dosyasına ait sağ tık menüsüne gerekli seçenek eklenecektir. .py dosyası, çevrimi yapılan .ui dosyasıyla aynı dizine yerleşecektir.
Yılın son yazısında yine başka bir Python kodu paylaşmak istiyorum. Az önce Bilgisayar Kavramları’na göz atarken “Ekrana Kare Çizdiren Kod” yazısını gördüm. Aklıma, Kasım ayında bir pazar öğle sonrası Python ile karaladığım “ekrana kare çizdirme kodu” geldi.
Kod, girilen kenar uzunluğuna göre bir kare çizer.
Kod:
# -*- coding: cp1254 -*-
# python ile istenen kenar uzunluguna sahip kare cizimi
# 28.11.2010
# Batuhan Bayrakçı - http://www.batuhanbayrakci.com
while 1:
kenar = int(raw_input("Karenin Kenar Uzunlugu: "))
icgenislik = int((2 * (kenar - 1.5)))
simge = '*'
for i in range(kenar):
if i == 0 or i == (kenar-1):
print (simge + ' ') * kenar
else:
print simge + icgenislik * ' ' + simge
Örnek Çıktı:
Python ile Kare Çizimi Örneği
2010 yılı, gerek blog açısından gerek diğer alanlardaki kod ve bilgi üretkenliğim açısından çok verimli geçmese de eski senelere göre daha iyi olduğu aşikâr. Umarım 2011 senesi her alandaki üretkenliğimize sağlıklı ve pozitif bir ivme kazandırır.
Matematik Dünyası‘nın eski sayılarına göz atarken Chris Stephenson ismi gözüme takıldı ve birkaç arama sonucunda Emre Sevinç (FZ Blogs)’ in sitesinde aşağıdaki videoyu buldum.
Eğitim sistemimiz, programcılık, açık kaynak yazılım ve daha birçok konudan oluşan güzel bir sunum:
Bir sayının basamak sayısını bulmak için pek çok algoritma vardır ve farklı algoritmalar da yazılabilir. Birkaç ay önce yabancı bir forumda bir sayının basamak sayısının bulunmasıyla ilgili kısa bir yöntem görmüştüm ve kullanmıştım. Dün eski dosyalara göz atarken karşılaştım ve paylaşmak istedim. Kısaca tekniğe göz atacak olursak:
Girilen sayı ’0′ ise doğrudan ’1′ döndürülür.
Basamak sayısı bulunacak sayı ’0′ dan farklı ise mutlak değeri alınır.
Sonucun 10 tabanında logaritması alınır.
Elde edilen ondalık sayıdan küçük olan en büyük tam sayı bulunur. (aşağı yuvarlama)
Sayıya ’1′ eklenir.
Sonuç, float tipinde olduğu için istenirse int() fonksiyonuyla tam sayı cinsinden değeri alınır.
Python kodu (normal fonksiyon):
from math from *
def basamakSayisiBul ( sayi ):
if ( sayi == 0 ):
return 1
else:
return int( floor( log10( abs(sayi) ) ) ) +1
Python kodu (lambda, kısa):
from math from *
f = lambda x: 1 if x==0 else int( floor( log10( abs(x) ) ) ) +1
Basamak Sayısı Bulma
Yukarıdaki lambda tipi fonksiyon tanımlamada kullanılan koşul yapısına yeri gelmişken göz atalım. Bu gösterim, Python 2.5‘ ten itibaren geçerlidir.
[if-bloğu doğruysa yapılacaklar] if [koşul] else [koşul yanlışsa yapılacaklar]
Örnekte dikkat edilirse fonksiyon parametresi ’0′ ise ’1′ döndürülüyor. Aksi halde gerekli matematiksel işlemler yapılıp sonuç döndürülüyor.