Metndeki her harfin kac defa tekrar edilmesi

kullanicidan bir metn girmesini talep edin ve metndeki harflerin sayını hesablayın ve sonra her harfin kac defa kullanildigini gostersin.

Değişken isimlerini güzel yapamadım ama kod calışıyor.

harfler = ["a","b","c","ç","d","e","f","g","ğ","h","i","ı","j","k","l","m","n","o","ö","p","r","s","ş","t","u","ü","v","y","z"]
büyük_harfler = ["A","B","C","Ç","D","E","F","G","Ğ","H","İ","I","J","K","L","M","N","O","Ö","P","R","S","Ş","T","U","Ü","V","Y","Z"]
harfsayilari = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
metin = input("bir metin giriniz")
harf = ""
a = 0
for konturol_edilen_harfin_numarasi in range(len(metin)):
    for i in range(29):
        if metin[konturol_edilen_harfin_numarasi] == harfler[i]:
            harfsayilari[i] = harfsayilari[i] + 1
    for i in range(29):
        if metin[konturol_edilen_harfin_numarasi] == büyük_harfler[i]:
            harfsayilari[i] = harfsayilari[i] + 1

for i in harfsayilari:
    if i > 0:
        print(harfler[a],"=",i)
    a = a + 1

kölelik bitti sanıyodum

2 Beğeni
kelime = "kelime"

sayac = {}

for harf in kelime:
    if harf in sayac:
        sayac[harf] += 1
    else:
        sayac[harf] = 1

print(sayac)

Bir döngü ile kelimedeki her harfi alıyoruz eğer bu harf daha önce tanımlandıysa harfin değerine 1 ekliyoruz tanımlanmadıysa değerini 1 yapıyoruz.

1 Beğeni

Teşekkürler sayın BandoLero

from collections import Counter

a_string = 'kölelik bitti sanıyodum'
collection = Counter(a_string)

print(collection)

Köleleri azad edeyim…

Yoksa, emrin başım üstüne haşmet meab deyip duracaklar. Kod yazdık diye sevinip sahiplerinin başlarını okşamasını bekleyecekler.

EDIT:

Kusura bakam sayın BandoLero, sanırım kölelik bitmez.

1 Beğeni

Aynısını gene yazayım, burada yazılanlara göre daha kısa:

letter_count = lambda text, letter: text.count(letter)

Ben buradan bir metinde kaç tane harf kullanılması gerektiğini anladım açıkçası. Diğer konuda da buna benzer bir şey yazmıştı arkadaş. Nereden böyle bir şey çıktı bilemedim.

Pardon öteki soru sanmışım burayı adam onu istemiyor yine de tüm harflerin kaç defa geçtiğini gösteren bir şey istiyor Alih78 için a:1,l:1,i:1,7:1,8:1

Valla açıkçası ben mi zor çözdüm demek istediğini bilemedim. Ama şöyle bir şey belki iş görür:

letter_counts = lambda text: {i: text.count(i) for i in text}

işin ilginç tarafı. konuyu açan insan evladı dil belirtmemiş. bi kaç gün sonra gelip şunu derse çok gülerim. arkadaşlar mesajlar için teşekkür ederim ama öğretmenim bana javascript ile yapma ödevi verdi kusura bakmayın diyebilir :stuck_out_tongue:

Evet böyle olacak.

Bu soru sandım bu soruyu onu demek istedim.

Ben de ona güveniyordum. Modül kullanıp tek satırda count edeni hocam kabul etmiyor mu diye açmıştım tezgahı ne güzel.

1 Beğeni

Hazır kod vermek bu yüzden pek iyi bir şey değil. Adam işim görülsün ödevim yapılsın diyor yoksa öğrenme amacı olmuyor (genellikle).

print(functools.reduce(lambda cc, c: cc | {c: cc.get(c, 0) + 1}, input("metin: "), {}))
fs.writev(1, [Buffer.from("metin: ")], () => fs.readv(0, [Buffer.alloc(4096)], (_e, _br, buf) => { console.log(Array.from('' + buf[0]).reduce((cc, c) => c.charCodeAt(0) >= 32 ? Object.fromEntries([...Object.entries(cc), [c, (cc[c] || 0) + 1]]) : cc, {})); }));