Karakter Dizi Metodları -1

Yazar: Unknown Tarih: 10 Aralık 2011 Cumartesi Yorum: (0)
Listeler konusunda bu konuya benzer bir konu işlemiştik.Ama artık pythonda ilerlediğimize göre
daha complex terimler göremenin vakti geldi.
Öcelikle göreceğimiz metodları ekrana yazdırmakla başlayalım

>>> dir("")
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__',
'__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__',
'__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__',
'__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__',
'__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser',
'capitalize', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format',
'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric',
'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip',
'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit',
'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate',
'upper', 'zfill']

tabii bunların hepsini işlemeyceğiz.İşelemeyceklerimizi gruplandıracak olursak '__xxx__' şeklinde
önünde ve sonunda alt tire olanlardır.Çünkü bunlar özel metodlara girmektedir.Bunların farklı
kapsam alanları var.Bunların dışındaki metodları göreceğiz.

Capitalize
Bu metod ile cümlelerimizin,kelimelerimizin yada daha geniş kapsamıyla karakter dizilerinin ilk
harfini büyütmemize yardımcı oluyor.


>>> "python".capitalize()
'Python'


Upper
Bu metod ile küçük harflerden oluşan karakter dizisinin bütün harflerini büyültmemizi sağlıyor


>>> "python".upper()
'PYTHON'


Eğer bu metodda Türkçe karakter kullanırken hata alıyorsanız ayrıca birkaç işlem yapmamız gerekiyor.Örneğin

>>>"şennur".upper()
'\xc\x9fEKER'

gibi bir durum ile karşılaşıyorsanız

>>>import locale
>>>locale.setlocale(locale.LC_ALL,"")

şeklindek locale modülünü eklememiz gerekir.Ve sonra

>>>print u"şennur".upper()
'ŞENNUR'

burada kullandığımız u harfi unicode adlı bir veri tipini ifade ediyor.Şimdilik bunu dönüştürücü
şeklinde bilsek yeterli ileride göreceğiz zaten.

Lower
Bu metodda upper() metodunun tam tersini yani büyük harfi küçük harfe dönüştürüyor.

>>> "PYTHON".lower()
'python'


tıpkı upper metodunda da olduğu gibi Türkçe karakter sorunu için yine aynı işlemi yapmamız gerekecek.

Swapcase
Bu metod ise harfin o andaki durmunun tam ters haline dönüştürür.

>>> "PyThOn".swapcase()
'pYtHoN'

Title
capitalize() metodunun bütün kelimelerin baş harflerini büyük yapar.

>>> "python programlama öğreniyorum".title()
'Python Programlama Öğreniyorum'

Center
Karakter dizisinin sağında ve solunda programcının belirlediği sayı kadar boşluk bırakır.

>>> "python".center(12)
' python '

center() metodunun ikinci bir kullanımıda

>>> "python".center(12,"*")
'***python***'

şeklindede kullanabilmemizdir.
Python Hesap Makinesi

Python Hesap Makinesi

Yazar: Unknown Tarih: 6 Aralık 2011 Salı Yorum: (0)
while True:
import math
try:
print("--------------------------------------------")
x=int(input("Toplama-->1\nÇıkarma-->2\nÇarpma-->3\nBölme-->4\n"
"Karakök-->5\nYüzde Alma-->6\nProgramdan Çıkma-->0\nTercihiniz:"))
print("--------------------------------------------")
if x==1:
sayı1=int(input("Birinci sayı "))
sayı2=int(input("İkinci sayı "))
toplam=sayı1+sayı2
print("Sonuc= ",toplam)
if x==2:
sayı1=int(input("Birinci sayı "))
sayı2=int(input("İkinci sayı "))
cikarma=sayı1-sayı2
print("Sonuc= ",cikarma)
if x==3:
sayı1=int(input("Birinci sayı "))
sayı2=int(input("İkinci sayı "))
carp=sayı1*sayı2
print("Sonuc= ",carp)
if x==4:
sayı1=int(input("Birinci sayı "))
sayı2=int(input("İkinci sayı "))
böl=sayı1/sayı2
print("Sonuc= ",böl)
if x==5:
sayı1=int(input("Sayıyı Giriniz "))
karakök=math.sqrt(sayı1)
print("Sonuc= ",karakök)
if x==6:
sayı1=int(input("Sayıyı Giriniz "))
sayı2=int(input("Yüzde kaç "))
yuzde=(sayı1*sayı2)/100
print("Sonuc= ",yuzde)
if x==0:
break
if x<0 or x>6:
continue
except ZeroDivisionError:
print("Lütfen paydayı 0'dan farklı bir sayı giriniz!")
except ValueError:
print("Lütfen sayısal ifadeler girin!")


Hata Ayıklama(raise)

Hata Ayıklama(raise)

Yazar: Unknown Tarih: 4 Aralık 2011 Pazar Yorum: (0)
Pythonda yazdığımız bir programda normalde kullanıcınınyaptığı işlemlerde hata vermese bile biz
istersek kullanıcıya hata mesajı verebiliriz.
Mesala bir toplama işleminde 3 ile işlem yapmak istemiyorsanız,

sayi=int(input("Birinci sayı: "))
sayi1=int(input("İkinci sayı: "))
if (sayi or sayi1)==3:
raise Exception("Bu programda 3 sayısınız kullanamazsınız!!!")
else:
print(sayi+sayi1)





bu kodlamayı yapmalısınız.Bu ne işimize yarar sorusuna gelince o sizin hayal gücünüze bağlı :D

Şimdi raise ile hem mesaj verelim hemde pythonun hatasını yazdıralım:

try:
bölünen = int(input("bölünecek sayı: "))
bölen = int(input("bölen sayı: "))
print(bölünen/bölen)

except ZeroDivisionError:
print("bir sayıyı 0'a bölemezsiniz")
raise






bu kodumuzda önce sayıları karşılaştıracak,eğer bölen 0 değilse sonucu ekrana yazacak.Eğer bölen 0
ise önce "bir sayıyı 0'a bölemezsiniz" bizim mesajımızı ardından pythonun kendine özgü hata mesajını
ekrana verecektir.