#!/usr/bin/env python
# -*-coding: iso-8859-9 -*-
def f(e):
print e*" _"
def g(h):
print (h-1)*("|"+(2*a-1)*" "+"|n")+"|"+(a-1)*"_ "+"_"+"|"
print "ALAN=%s, ÇEVRE=%s" %(a*b, 2*(a+b))
a=int(raw_input("yan kenar:"))
b=int(raw_input("dik kenar:"))
f(a)
g(b)
Görüntü

Geçelim anlatıma, satırları tek tek anlatıyorum. Boş satırları saymayacağım.
1-) Bu satırda yazanlar Python programımıza ait yol. Aşağı yukarı bütün Pardus sistemlerde böyledir. Programımıza doğrudan bir etkisi yok.
2-) Türkçe karakterlerin bize sorun çıkarmamasını sağlıyor.
3-) İçine herhangi bir "e" değeri alan, "f" adında bir fonksiyon tanımlıyoruz.
4-) "f" fonksiyonunun içine aldığı "e" değeri kadar " _" yazmamızı sağlıyor. Bu satır bizim dikdörtgenimizin üst kenarını oluşturacak.
5-) İçine herhangi bir "h" değeri alan, "g" adında bir fonksiyon tanımlıyoruz.
6-) İşte asıl kısım burada. oradaki karakterlerin fazlalığı gözünüzü korkutmasın. Oldukça açık konuşmaya çalışacağım. Bu satırı 2 parçaya ayıralım:
(h-1)*("|"+(2*a-1)*" "+"|n") Burada gördüğünüz gibi 2 adet parantez var. 1. Parantez; "g" fonksiyonunun içine aldığı h değerinin bir eksiği olan sayıyı ifade ediyor. 2. Parantez; Bir adet dik çizgi, daha sonra, "a" sayısı (Bu sayı 9. satırda belirtilecek olan yan genişliği ifade ediyor.) nın 2 katının bir fazlası olan sayı kadar boşluk, bir adet dik çizgi ve alt satıra geçme anlamına geliyor. Yani (h-1)*("|"+(2*a-1)*" "+"|n") ifadesi ile 1. Parantezdeki sayı kadar 2. Parantezdeki işlemler yapılıyor.
+"|"+(a-1)*"_ "+"_"+"|" Önce ne yaptığımıza bakalım. Üst kenarı yaptık. Daha sonra yukarıda belirttiğim kısımda (yan kenar uzunluğu [eksi] 1) uzunluğunda yan kenarlar yaptık. Ve sıra geldi alt kenarı yapmaya. Bu kısımda önce bir adet dik çizgi çiziyoruz. Sonra yan uzunluk(a) [eksi] 1 tane "_ "(alttire [artı] boşluk) koyuyoruz, sonra bir adet alttire("_") koyuyoruz ve Bir adet dik çizgi daha koyarak dikdörtgenimizi tamamlamış oluyoruz.
7-) Burada dikdörtgenimizin alanını ve çevresini hesaplatıp ekrana yazdırıyoruz. Gördüğünüz ilk "%s" a*b(a [çarpı] b), ikince "%s" ise 2*(a+b) (2 [çarpı] (a [artı] b) ) yi temsil ediyor.
8-) Bu satır ile ekrana "yan kenar:" yazacağız ve bizden bir tamsayı değeri isteyecek. Eğer bir bir tamsayı değeri vermezsek, programımız hata verecektir. Girdiğimiz bu tamsayı değerini "a" değişkenine atayacaktır.
9-) Bu satır ile de ekrana "dik kenar:" yazacağız ve bizden bir tamsayı değeri isteyecek. Bu değer ise "b" değişkenine atanacaktır.
8. ve 9. satırlar ile yan ve dik kenar uzunluklarını aldık.
10-) İçine yan kenar uzunluğu(a)nu alacak şekilde "f" fonksiyonunu çalıştırıyoruz.
11-) İçine dik kenar uzunluğu(b)nu alacak şekilde "g" fonksiyonunu çalıştırıyoruz.
İşte bu kadar. Yeni başlayanlar için faydalı olacağını düşünüyorum.