akıllı tahta etkinlikleri,soru bankası,deneme sınavı,yazılı sınav,konu anlatım,eğitim programları,yıllık planlar,ilk okuma yazma

python karakter dizileri metodları dersleri etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
python karakter dizileri metodları dersleri etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Karakter Dizilerinin Metodları 12



#-*- coding:utf-8 -*-
"""
Bu gün karakter dizilerinin metodlarında count() metoduna göz atalım. count()
ingilizce de saymak anlamına gelir. Tahmin ettiğiniz gibi count() bir şeyleri
saymak için kullanılır. Karakter dizilerinin içinde geçen bir karakterin kaç
kez geçtiğini sayar. Hemen bir örnek yapalım:"""

kardiz = "Merhaba Dünya"

print(kardiz.count("a")) # a harfi kaç defa geçiyor? Ekran çıtımız '3' olur.

#şimdi daha zor bir örnek yapalım. Uzun bir metin alalım. istediğimiz bir
#harfi ya da kelimeyi saydıralım. www.istihza.com

metin = """Tıpkı daha önce öğrendiğimiz sorgulayıcı metotlar gibi, count()
metodu da bir karakter dizisi üzerinde herhangi bir değişiklik yapmamızı sağlamaz.
Bu metodun görevi bir karakter dizisi içinde belli bir karakterin kaç kez geçtiğini
sorgulamaktır. Bununla ilgili hemen bir örnek verelim:"""

print("a harfi {} defa geçiyor. ".format(metin.count("a")))

# a harfi 21 defa geçiyor. çıktısını verir.

print("b harfi {} defa geçiyor.".format(metin.count("b")))

#şimdi bir kelime aratalım

print("bir kelimesi {} defa geçiyor".format(metin.count("bir")))

#################################################################################
"""count() metodunun iki farklı  kullanım şekli daha vardır. Bunlardan bir tanesi
count("a",4) >>> anlamı saymaya 4. karakterden başla. Örnek yapalım"""

kardiz = "Merhaba Dünya"
print(kardiz.count("a",7))
#ekrana iki çıktısnı verir. Çünkü biz saymaya 7.karakterden başladık.
#Python saymaya sıfırdan başlar. Aklımızdan bunu çıkarmayalım.

###################################################################################
"""Bir diğer kullanım şeklide count("a",4,7) şeklindedir. Yani 4. karakterden aramaya
başla 7. karaktere kadar aramaya devam et. şimdi bununla ilgili bir örnek yapalım. """

kardiz = "Merhaba Dünya"

print(kardiz.count("a",6,9)) #6. karakterden başla 9. karaktere kadar aramaya devam et

#Pekiştirmek için örneklar yapabilirsiniz. 

Karakter Dizilerinin Metodları 11



#-*- coding:utf-8 -*-
"""Bu gün karakter dizilerinin metodlarında join() metoduna bir göz atalım.
join kelime anlamı itibariyle katılmak, eklemek gibi anlamlara gelir. split
metodu ile parçaladığımız karakter metodlarını birleştirmek için kullanırız.
Bir örnek ile gösterelim:
"""

kardiz = "elma,armut,ayva,kavun,karpuz"
#şimdi karakter dizimizi split ile kelimelerine ayıralım ve yeni bir değişkene atayalım
ayrılmış_kardiz = kardiz.split(",")
#şimdi kelimelerin arasına '-->' koyarak birleştirelim.
birleştirme_karakteri = "-->"
birleşik_kardiz = birleştirme_karakteri.join(ayrılmış_kardiz)
print(birleşik_kardiz)
#Ekran çıktısı: elma-->armut-->ayva-->kavun-->karpuz şeklinde olur

#Örnek:

alman_arabaları = "mercedes,audi,bmw,vw,opel"

print("~~".join(alman_arabaları.split(",")))

Karakter Dizilerinin Metodları 10


"""Bugün karakter dizilerinin metodlarından strip() metoduna biz göz atalım.
strip() metodu karakter dizilerinde  başta ve sonda bulunan istenmeyen simgeleri,
harfleri vs. temizlemeye yarar. Bunu en güzel bir örnek ile açıklayalım."""

kardiz = ">>>>karakter dizisi>>>>"
print(kardiz.strip(">"))
# Ekran Çıktısı : 'karakter dizisi' şeklinde olur.
#Görüldüğü gibi başta ve sonda yer alan karakterler temizlendi.

url = """http://www.google.com
http://www.yahoo.com
http://wwww.bing.com"""

#şimdi yukarıdaki 'http://' temizleyelim. Bunun için bir döngü kuralım

for site_adresi in url.splitlines():
    
    print(site_adresi.strip("http://"))

#Ekran çıktısı:
"""
www.google.com
www.yahoo.com
wwww.bing.com  Şeklinde olur.
"""

#başka bir örnek:

kardiz = "Python"
print(kardiz.strip("P")) #Ekran çıktısı 'ython' şeklinde olur.

#başka bir örnek:

print("kavak".strip("k")) #ekran çıktısı 'ava' şeklind olur.

""" Görüldüğü gibi girilen parametreye göre hem baştaki hem sondaki
harfleri temizledik. Peki sadece soldaki veya sağdaki harften veye işaretten
kurtulmak istersek ne yapacağım. Cevabı basit. Left  = sol demek ilk harfi olan 'l'
ile right = sağ demek, ilkharfi r ile bu işi halledeceğim. Örnek:
"""
print("adana".rstrip("a")) #sağdaki a gitti. Ekran Çıktısı: 'adan' olur
print("adana".lstrip("a")) #soldaki a gitti. Ekran çıktısı : 'dana' olur

#başka bir örnek :

kardiz = "    serdar    " #boşlukları silmek için
print(kardiz.strip()) #yazmamız yeterli olur. 

Karakter Dizilerinin Metodları 9


"""Karakter dizilerinin metodlarından swapcase() metoduna bir göz atalım.
swap takas anlamına gelmektedir. Bu metod büyük karakter dizisi içinde yer
alan büyük harfleri küçük harfle,
küçük harfleri büyük harfle takas eder.Hemen bir örnek yapalım."""

harfler = "AAA-bbb"
print(harfler.swapcase()) #Ekran Çıktımız >>> 'aaa-BBB' şeklinde olur.

#Bildiğiniz gibi i harfi problemimiz var. Çözelim

kardiz = "izmir"
for i in kardiz:
    if i == "i":
        kardiz = kardiz.replace("i","İ")
    elif i == "İ":
        kardiz = kardiz.replace("İ","i")
    else:
        kardiz = kardiz.replace(i,i.swapcase())
print(kardiz)

"""
Şimdi yukarıdaki satırları tek tek tekrar gözden geçirelim:
1-for döngüsü ile karakter dizimizde yer alan her harfi
'i' değişkenine atadık
2-if kontrol yapsını kullanarak 'i' harfine eşit olan her harfi
'İ' harfi ile değiştirdik. Tekrar kardiz'e atadık. Kardizin sakladığı
değeri değiştirmiş olduk.
3-elif yapısı ile 2. basamaktaki işlemleri tekrar yaptık
4-#burası öenmli#  kardiz karakter dizindeki herbir harfin i.swapcase()
ile tersini aldık. 
"""

Karakter Dizilerinin Metodları 7


#-*- coding:utf-8 -*-
""" Bu gün karakter dizilerinin metodlarından capitalize() metodunu öğrenmeye
çalışacağım. Bu metod karakter dizisinin sadece ilk harfini büyütmeye yarar.
Örneğin; elimizdeki "karakter dizisine" uyguladığımızda sadece ilk harfi büyü-
tür. Şimdi bir kaç örnek yapalım."""

kardiz = "programlama öğreniyorum"
print(kardiz.capitalize()) 
""" Çıktımız "Programlama öğreniyorum" şeklinde olur
gördüğünüz gibi sadece ilk harfi büyük. """

#capitalize() metodu da i harfini büyük harf yaparken problem yaşar. örnek:

print("istanbul".capitalize()) # Çıktımız Istanbul şeklinde olur.
#gördüğünüz gibi I harfi ile başlıyor. Bunu düzeltmenin bir iki 
#yolu var. Bunlardan biri karakter dilimleme yöntemi, diğeri replace()
# I. YOL:

kardiz = input("Lütfen bir şeyler yaz")

if kardiz.startswith("i"):
 print(kardiz.replace("i","İ",1))
 

else:
 print(kardiz.capitalize())

"""Yukarıdaki kodların ne yaptığını satır satır inceleyelim.
1- Kullanıcıdan bir şeyler yazmasını istedik
2- Eğer girilen değerin ilk harfi i ise;
  replace metodu ile i'yi İ ile değiştirdik. '1' parametresi
  ile sadece bir tane i harfini değiştirdik. Aynı anda ekrana 
  yazdırdık.
3- Eğer girilen değer 'i' ile başlamıyorsa ilk harfini direk büyüttük. """

#II. YOL:
#karakter dizilerini dilimleyerek yapacağız. 

print("II. YOL")
kardiz = input("Lütfen bir şeyler yaz")

if kardiz.startswith("i"): # i ile başlıyorsa
 print("İ"+kardiz[1:])  # ilk karakteri kes yerine 'İ' koy.

else: # i harfi ile başlamıyorsa
 print(kardiz.capitalize()) # ilk harfini büyüt. 

Karakter Dizilerinin Metodları 6


 
#-*- coding: utf-8 -*-
""" Karakter dizilerinin metodlarından ### startswith() ve endswith() ### me-
todlarını öğrenmeye çalışacağım. startswith() ile endswith() sorgulayıcı metod-
lardır. Yani True ve ya False değeri döndürürler. startswith --> "ile başlar" anla
mına gelir. endswith() --> "ile biter" anlamına gelir. Basit bir örnek yapalım."""

kardiz = "python Programlama Dili öğreniyorum"
print(kardiz.startswith("py"))
"""True değeri döndürür. Biz burda şunu sorguladık kardiz değişkeni "py" ile mi
başlıyor. Eğer başlıyorsa ekran çıktısı "True" olur eğer yanlışsa "False" olur.
Bildiğiniz gibi python büyük küçük harf duyarlı bir dildir. Dolayısı ile kardiz
değişkenimizin "Py" ile başlayıp başlamadığını sorgulasak "False" değerini ekra-
na yazdırır. Peki biz sorgulama yaparken kullanıcının büyük küçük harf girdiğini
nasıl bileceğiz? Aslında bilmemize gerek yok. Tüm harfleri küçük ve ya büyük yapar-
sak sorunu ortadan kaldırmış oluruz. Bunun için daha önceden öğrendiğimiz metodları
kullanabiliriz. """
 


print(kardiz.lower().startswith("py")) 
"""şimdi True değerini döndürür. lower ile
önce tüm harfleri küçük yaptık. Sonra sorgulamamız yaptık.
 şimdi endswith() metodunu deneyelim. """

print(kardiz.endswith("öğreniyorum"))
""" True değerini döndürür. Çünkü sonu böyle "öğreniyorum" şeklinde bitiyor."""

"""şimdi şöyle bir uygulama yapalım. Elimizdeki metin içinden 'b' ile başlayan
kelimeleri çekelim ve ekrana yazdıralım. Örnek metinimiz ilk başta yazdığımız 
açıklama metni olsun. büyük - küçük harf duyarlılığını da bertaraf etmeyi unut-
mayalım""",

metin = """ Karakter dizilerinin metodlarından ### startswith() ve endswith() ### me-
todlarını öğrenmeye çalışacağım. startswith() ile endswith() sorgulayıcı metod-
lardır. Yani True ve ya False değeri döndürürler. startswith --> "ile başlar" anla
mına gelir. endswith() --> "ile biter" anlamına gelir. Basit bir örnek yapalım."""


#Önce kelimelerine ayırmamız lazım. Daha önceden öğrendiğimiz split() methodunu
#kullanalım derim :) Sonra sorgulamımızı yapalım

for i in metin.lower().split(): 
 if i.startswith("b"):
  print(i)


""" Yukarıdaki kodları satır satır açıklayalım:
1- Uzun metnin tüm karakterlerini küçük harfe çevirdik.
split() metodu ile kelimelerine ayırdık.
2-for döngüsü ile her bir kelimeyi teker teker i' ye atadık. 
3-if kontrol yapısını kullaranarak b ile başlayanları yazdırdık.
"""
#şimdi aynısını endswith için yapalım.

for i in metin.lower().split():
 if i.endswith("n"):
  print(i)


### ÖDEV ###
#siz kendiniz de kullanıcıdan bir harf ya da kelime alarak
#sorgu yazabilirsiniz. 

Karakter Dizilerinin Metodları 5


#-*- coding:utf-8 -*-
"""Bu notlarda islower() ve isupper() metodlarını inceleyeceğim, öğrenmeye çalı
şacağım. Şimdiye kadar replace(),strip(),lower() ve upper() metodlarını incele-
dim. Bu metodlar karaketer dizilerinin çıktılarını alırken bir takım manipulasyon
lar yapmamızı sağlıyordu. Bu yüzden bu metodlara değiştirici metodlar da diyebi-
liriz. 
### islower() ve isupper() ### ise değiştirici değil sorgulayıcı metodlardır. 
Bu metodlardan islower() karakter dizisinin taşıdığı tüm değerin küçük harf
olup olmadığını kontrol eder. isupper() ise tam tersini  yapar. Yani karakter
dizisinin taşıdığı değerin tüm harflerinin büyük harf olmadığını kontrol eder.
sonuç doğru ise True değerini yanlış ise false değerini döndürürler. Şimdi bir
kaç örnek yapalım."""

lower_case = "ben bir küçük harfim"

print(lower_case.islower) # Tüm harfler küçük olduğunda True değerini döndürür.

upper_case = "BÜTÜN HARFLER BÜYÜK"
print(upper_case.isupper()) #bütün harfler büyük olduğundan True değerini döndürür.

print(lower_case.isupper()) #harfler küçük olduğundan False değerini döndürür. 

kardiz = "Büyük Balık"
print(kardiz.islower()) # False değerini döndürür. Tüm harfler küçük değil
print(kardiz.isupper()) # False değerini döndürür. Tüm harfler büyük değil. 




karakter_dizisi = input("Lütfen bir şeyler söyle")

if karakter_dizisi.islower():
 print("tüm harfleri küçük girdiğiniz için teşekkür ederiz.")
else:
 print("lütfen tüm harfleri küçük giriniz")