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
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.
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.
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
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.
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, {})); }));