Monday, April 15, 2024

string slice split strip

# diziler, listeler bunu biliyorsunuz, liste birden fazla değişken tutan değişken gibiydi.
# fonksiyonlar

# string metin işlemleri
# stringler yazılardır. yani karakterler tutar, harf, sayısal karakter, özel karakterler
liste=["ahmet","leyla","ayşe"]
kelime = "Bu bir yazı"

# string ifadeler, listeler gibi davranabilir
print(kelime[3])

#yukarıdaki bilgiye göre klavyeden girilen yazının harflerini alt alta ekrana yazan programı yazınız.
# bu soruyu çözmek için yazının uzunluğunu bilmem lazım.
# hemen hatırlayalım, listelerde listenin uzunluğunu nasıl buluyorduk
# len(liste), listenin uzunluğunu alıyorduk.
# o halde önce yukarıdaki kelimenin uzunluğunu yazdıralım.

# uzunluk = len(kelime)
# print(uzunluk)

# o halde soruyu çözelim

yazi = input("Bir yazı girin: ")
for i in range(len(yazi)):
    print(yazi[i])

# Klavyeden girilen yazının harflerini yanyana aralarında tire olacak şekilde ekrana yazan programı yazınız.
   

 


# Klavyeden girilen yazının harflerini yanyana aralarında tire olacak şekilde ekrana yazan programı yazınız.
   
yazi = input("Bir yazı girin: ")
for i in range(len(yazi)):
    print(yazi[i],end="-")

for harf in yazi:
    print(harf, end="-")

print()
# Klavyeden girilen yazinin tek olan indexlerindeki harfleri ekrana yazan programı yazınz.
for i in range(len(yazi)):
    if i%2==1:
        print(yazi[i])


# klavyeden girilen yazının son karakterini ekrana yazan program

# yazi = input("Bir yazı girin: ") # diyelim ki Recep girdim

# uzunluk = len(yazi) # recep ise uzunluk kaç olur, 5 olur.

# sonKarakter=yazi[uzunluk - 1] # son karakter olacaktır

# print(sonKarakter)

# sorunun asıl çözümü
yazi = input("Bir yazı girin: ")
print(yazi[len(yazi)-1])
# slice parçalama anlamına gelir, bir yazının içinden parça almaya yarar
# kullanımı
# Stringİfade[baslangicIndex : bitisIndex]

kelime="Bu bir yazı, uzun olsun diye biraz daha"

print(kelime)

# 5. karakterden itibaren ekrana yazalım. burada slice kullanacağız.
kelime = "Merhaba Dünya"
print(kelime[5:])
# yukarıdaki ifade 5. indexten itibaren(5 dahil) yazının sonuna alınmasını sağlar
# çünkü nerede biteceği yazılmamış


print(kelime[:5]) # bu ne yapar, 0 dan başlar çünkü başlangıç yazılmamış, 5 te biter(5 dahil değil)  

# 3. indexli karakterden, 7 indexli karaktere kadar yazdıralım
print(kelime[3:7])


# aşağıdaki değişkenin içinde T harfini arayarak, oradan itibaren i harfini arayıp,
# T harfinden, T harfinden sonraki i harfine kadar olan yazıyı ekrana yazan programı yazınız.

kelime = "Bilişim Teknolojileri Alanı"

# aramam gereken bir yazıda arama nasıl yapılır
# stringifade.find("aranacakifade") arananifade bulunur ise onun indexini, bulamaz ise -1 değerini döndürür.
# index = kelime.find("t") # küçük t olmadığı için -1 döndürür, yani bulamadı
# index = kelime.find("T") # T değeri yazıda var. 8 değerini döndüdür.

Tindex = kelime.find("T") # 8 değeri döndü

# Find komutu başlangıç ve bitişe sahiptir.
# kelime.find("aranacakifade",AramayaBaşlanacakIndex, AramanınBiteceğiIndex);
#AramayaBaşlanacakIndex yazılmaz ise, 0 olduğu düşünülür, başan başlar
# AramanınBiteceğiIndex yazılmaz ise, yazının son elemanının indexi varsayılır, yani sona kadar arar

# şimdi de T den sonraki i yi arayalım
iindex = kelime.find("i",Tindex)
# print(iindex)

print(kelime[Tindex:iindex+1])


# aşağıdaki değişkenin içinde T harfini arayarak, oradan itibaren i harfini arayıp,
# T harfinden, T harfinden sonraki i harfine kadar olan yazıyı ekrana yazan programı yazınız.

kelime = "Bilişim Teknolojileri Alanı"

print(kelime[kelime.find("T"): kelime.find("i", kelime.find("T"))])


# split, bir kelimeyi bölyeye yarar, aslında parçalamaya yarar.
# slice parçalamaz, parça alır.

# split nasıl parçalar ya da böler.
# size sorayım. Aşağıdaki cümlede kaç adet kelime vardır.
# Ahmet evden çıkıp okula gitti

# yukarıdaki ifadede boşluklara bakarak 5 kelime olduğunu söylemişsinizdir.
# split de bunu yapıyor.

# belirtilen karakterleri arayarak, gördüğü yerde oralardan parçalama yapar.
# yani sonuç olarak geriye bir liste döner.
# kelime = "Ahmet evden çıkıp okula gitti"

# sonuc = kelime.split(" ")
# print(sonuc)
# print(len(sonuc))

# Klavyeden girilen yazının kelime sayısını ekrana yazan programı yazınız.
# kelime = input("Bir yazı girin: ")
# kelime = kelime.strip() # strip bir kelimenin sağından solundan, temizlik yapar, temiz halini döndürür
# # parantez içine birşey yazılmaz ise boşlukları temizler, yazılır ise onları temizler.

# sonuc = kelime.split(" ")
# print(sonuc)
# print(len(sonuc))

# stripi bir ele alalım

# kelimenin harflerini yanyana aralarında - olacak şekilde ekrana yazan programı yazınız.
kelime = "bu bir kelime"
sonuc =""

for harf in kelime:
    sonuc = sonuc + harf+"-"

print(sonuc.strip("-")) # en sonlardaki - leri temizledik


kelime="Adana,01, Adıyaman,02, Afyonkarahisar,03, Ağrı,04, Aksaray,05, Amasya,06, Ankara,07, Antalya,08, Ardahan,72, Artvin,09, Aydın,10, Balıkesir,11, Bartın,74, Batman,73, Bayburt,78, Bilecik,12, Bingöl,13, Bitlis,14, Bolu,15, Burdur,16, Bursa,17, Çanakkale,18, Çankırı,19, Çorum,20, Düzce,81, Edirne,22, Elazığ,23, Erzincan,24, Erzurum,25, Eskişehir,26, Gaziantep,27, Giresun,28, Gümüşhane,29, Hakkâri,30, Hatay,31, Iğdır,79, Isparta,32, İstanbul,34, İzmir,35, Kahramanmaraş,46, Kars,36, Kastamonu,37, Kayseri,38, Kırklareli,39, Kırşehir,40, Kocaeli,41, Konya,42, Kütahya,43, Malatya,44, Manisa,45, Mardin,47, Mersin,33, Muğla,48, Muş,49, Nevşehir,50, Niğde,51, Ordu,52, Osmaniye,80, Rize,53, Sakarya,54, Samsun,55, Şanlıurfa,63, Siirt,56, Sinop,57, Sivas,58, Tekirdağ,59, Tokat,60, Trabzon,61, Tunceli,62, Uşak,64, Van,65, Yalova,77, Yozgat,66, Zonguldak,67"

# yukarıdaki yazıdan illerin adlarını tutan bir liste oluşturarak bu listeyi ekrana yazan programı yazınız.

result = kelime.split(",")

iller = []

for index in range(len(result)):
    if index % 2==0:
        iller.append(result[index])

print(iller)




























No comments: