RE kullanmadan Python dizeleri listesindeki heceleri sayma

Nov 15 2020

Bir metin dosyasındaki hece sayısını saymam gerekiyor. Benim sorunum, her dizenin her karakterini nasıl yineleyeceğimi bilmemem. Benim fikrim, bir harfin sesli olup olmadığını kontrol etmekti ve eğer sonraki harf bir sesli değilse, sayıyı 1 artırın. Ama "harfi" arttıramıyorum. Ayrıca "aralık" yöntemini kullanmayı denedim, ancak bunda da sorun yaşıyorum. Ne deneyebilirim Teşekkür ederim. Not: Yalnızca Python yerleşik yöntemlerini kullanabilirim.

txt = ['sayma sözcükleri', 'ev', 'bitki', 'alfa', 'heceler']

Şimdiye kadarki kodum bu.

def syllables(text_file):

    count = 0
    vowels = ['a','e','i','o','u','y']

    with open(text_file, 'r') as f:
   
    txt = f.readlines()
    txt = [line.replace(' ','') for line in txt]
    txt = [line.replace(',','') for line in txt]
    txt = [y.lower() for y in txt]

        for word in txt:
            for letter in word:
                if letter is in vowel and [letter + 1] is not in vowel:
                    count += 1
   

Yanıtlar

cknoll Nov 14 2020 at 23:32

Bunu deneyebilirsin:

lines = ["You should count me too"]
count = 0
vowels = "aeiouy"

for line in lines:
    for word in line.lower().split(" "):
        for i in range(len(word)):
            if word[i] in vowels and (i == 0 or word[i-1] not in vowels):
                count +=1
print(count) # -> 5