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
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'