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
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'