Yeni Başlayanlar İçin Python Proje Örnekleri #3

Baphomet

Katılımcı Üye
23 Nis 2020
297
1
Öncelikle tekrardan merhaba. Bugünkü proje örneğimizde bir metnin içinden seçilen harften kaç tane olduğunu hesaplayan bir program(cık) yazacağız. Önceki konulardaki önerilerinizi dikkate alıp daha göze hitap eden bir şekilde ve kodları kısa tutup yazmaya çalışacağım umarım beğenirsiniz :)



#Öncelikle ekrana print() fonksiyonu ile bir hoşgeldiniz basalım#
Kod:
print("Harf Sorgulayıcıya Hoşgeldiniz!")

Şimdi ise 'metin' değişkeni adı altında input() fonksiyonu ile kullanıcıdan bir metin girmesini isteyelim#
Kod:
metin=input("""Sorgulanacak metni yapıştırınız :
""")

Bu sefer 'harf' değişkeni adı altında input() fonksiyonu ile kullanıcıdan sorgulamak istediği harfi girmesini isteyelim
Kod:
harf=input("""Sorgulanacak harfi giriniz :
""")

Şimdi ise 'sayı' adlı boş bir değişken atayalım bunun sebebini alt kodlarda açıklayacağım.
Kod:
sayı=''

Sırada for döngüsü ile program(cık)'ın girdiğimiz metindeki karakter dizilerini tek tek ele almasını sağlayacağız ki sayım doğru bir şekilde yapılabilsin. While kullansak belki işimiz çok uzayacak belki de çıkmaza girecektik. Bu yüzden 'for' döngüsünü kullanmak daha mantıklı.
Kod:
for s in metin:
    if harf == s:
        sayı += harf

Artık neden 'sayı' adlı boş bir değişken tanımladığımızı açıklayabiliriz. 'sayı' değişkeninin ilk başta değeri yok fakat
Kod:
sayı += harf
kodu ile bulunan her bir harfte bu değişkenin değerine 1 ekleniyor. Böylece sayım eksiksiz bir şekilde tamamlanmış oluyor.


Peki bulunan harfleri sayı biçiminde nasıl ekrana bastıracağız? Bunun için bir karakter dizisinin uzunluğunu ölçen len() fonksiyonundan yardım alacağız.
Kod:
print(len(sayı))


Umarım konum faydalı olmuştur. Dediğim gibi renk,kod uzunluğu gibi öneri/eleştirilerinizi dikkate alarak bir konu daha yazmaya karar verdim. Anlamadığınız veya şunu şöyle yap dediğiniz yerleri lütfen belirtin ki hem ben hem siz öğrenmiş olalım. İyi forumlar dilerim herkese :)
 
Son düzenleme:

Mapzilla

Adanmış Üye
23 Eyl 2016
7,205
13
int tipindekk 'sayı' değişkenine neden str tipinde bir şey eklenmeye çalışılıyor? Hata vermez mi saygı değer hocam
 

Quality38

Uzman üye
8 Ocak 2017
1,219
2
int tipindekk 'sayı' değişkenine neden str tipinde bir şey eklenmeye çalışılıyor? Hata vermez mi saygı değer hocam

Arkadaşın yaptığı şey aslında şu:
sayı'nın varsayılan değeri 0 ve int tipinde, bu değişkene bir string ekleniyor böylece sayı değişkeni artık string olmuş oluyor.
Diyelim ki metin içerisinde 5 tane s harfi var, script sonucu sayı değişkeni aşağıdaki gibi oluyor:
0sssss

Ama anlayamadığım şey len fonksiyonu ile sayı değişkenin uzunluğunu kontrol ettiğimizde olması gereken karakter sayısından 1 fazla veriyor. Yukarıdkai örnek için len(sayı) bize 6 dönderecektir. (0'dan kaynaklanıyor) Yoksa ben mi yanlış düşünüyorum ?
 

Baphomet

Katılımcı Üye
23 Nis 2020
297
1
Arkadaşın yaptığı şey aslında şu:
sayı'nın varsayılan değeri 0 ve int tipinde, bu değişkene bir string ekleniyor böylece sayı değişkeni artık string olmuş oluyor.
Diyelim ki metin içerisinde 5 tane s harfi var, script sonucu sayı değişkeni aşağıdaki gibi oluyor:
0sssss

Ama anlayamadığım şey len fonksiyonu ile sayı değişkenin uzunluğunu kontrol ettiğimizde olması gereken karakter sayısından 1 fazla veriyor. Yukarıdkai örnek için len(sayı) bize 6 dönderecektir. (0'dan kaynaklanıyor) Yoksa ben mi yanlış düşünüyorum ?

Sıfır yerine boş değer atayarak tekrardan düzenledim konuyu hocam
 

Baphomet

Katılımcı Üye
23 Nis 2020
297
1
Yanlış mı biliyorum yoksa hocam? Pythonda int + string toplama yapmaya kalktığımızda string'e dönüştürüyordu diye hatırlıyorum.

Haklısınız fakat konu baltalanmasın diye hemen değiştiriyorum yorumumdan sonra bilmiyor diye geçirmeye mi çalışacak?
 

Kriptony

Üye
10 Nis 2020
64
0
Bunun yerine Admin Panel Finder tool u yazsaydın daha açıklayıcı anlaşılır olurdu yinede elime sağlık
 

Mapzilla

Adanmış Üye
23 Eyl 2016
7,205
13
Yanlış mı biliyorum yoksa hocam? Pythonda int + string toplama yapmaya kalktığımızda string'e dönüştürüyordu diye hatırlıyorum.

C1qUfq.png
 

Mapzilla

Adanmış Üye
23 Eyl 2016
7,205
13

copy paste yapan mause sağlık

len fonksiyonu gereksiz olmuş, direkt arttırsa yazdırsa daha iyi olur

Kod:
text = 'Rapapapapam'
s = 'a'
count = 0

for _ in text:
	if _ == s:
		count+=1

print(count)

veya

Kod:
funk = lambda text, s: sum((1 for _ in text if _ == s))

print(funk('Rapapapapam', 'a'))
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.