Her Sesli Harfin Sayısını Sayacak Python Programı

Bu programda, sözlük ve liste anlama özelliğini kullanarak bir dizedeki her sesli harfin sayısını saymayı öğreneceksiniz.

Bu örneği anlamak için, aşağıdaki Python programlama konuları hakkında bilgi sahibi olmalısınız:

  • Döngü için Python
  • Python Dizeleri
  • Dize Yöntemleri

Kaynak Kodu: Sözlüğü Kullanma

 # Program to count the number of each vowels # string of vowels vowels = 'aeiou' ip_str = 'Hello, have you tried our tutorial section yet?' # make it suitable for caseless comparisions ip_str = ip_str.casefold() # make a dictionary with each vowel a key and value 0 count = ().fromkeys(vowels,0) # count the vowels for char in ip_str: if char in count: count(char) += 1 print(count) 

Çıktı

 ('o': 5, 'i': 3, 'a': 2, 'e': 5, 'u': 3) 

Burada ip_str'de saklanan bir dizge aldık. Yöntemi kullanarak, casefold()davasız karşılaştırmalar için uygun hale getiriyoruz. Temel olarak, bu yöntem dizenin küçük harfli bir sürümünü döndürür.

fromkeys()Her sesli harfin anahtarı ve tüm değerleri 0'a eşit olan yeni bir sözlük oluşturmak için sözlük yöntemini kullanıyoruz. Bu, sayımın ilklendirilmesidir.

Daha sonra, bir for döngüsü kullanarak girdi dizgesini yineliyoruz.

Her yinelemede, karakterin sözlük tuşlarında ( Truesesli ise) olup olmadığını kontrol eder ve eğer doğruysa değeri 1 artırırız.

Kaynak Kodu: Bir liste ve sözlük anlama kullanma

 # Using dictionary and list comprehension ip_str = 'Hello, have you tried our tutorial section yet?' # make it suitable for caseless comparisions ip_str = ip_str.casefold() # count the vowels count = (x:sum((1 for char in ip_str if char == x)) for x in 'aeiou') print(count) 

Çıkış Bu programın yukarıdakiyle aynıdır.

Burada, sesli harfleri tek bir satırda saymak için bir sözlük anlayışının içine bir liste anlayışı yerleştirdik.

Sözlük anlama tüm sesli karakterler için çalışır ve sözlüğün anlaşılması içindeki liste kavrayışı, dizedeki herhangi bir karakterin belirli sesli harfle eşleşip eşleşmediğini kontrol eder.

Sonunda, her sesli karakterin sayısı için 1 s'lik bir liste oluşturulur. sum()Yöntem, her liste için elemanların toplamını hesaplamak için kullanılır.

Bununla birlikte, her sesli harf için tüm girdi dizesi üzerinde yinelediğimiz için bu program daha yavaştır.

Ilginç makaleler...