Python program az egyes magánhangzók számának számlálására

Ebben a programban megtanulja megszámolni a sztringben lévő egyes magánhangzók számát a szótár és a szövegértés segítségével.

A példa megértéséhez ismernie kell a következő Python programozási témákat:

  • Python for Loop
  • Python karakterláncok
  • Vonós módszerek

Forráskód: A szótár használata

 # 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) 

Kimenet

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

Itt vettünk egy karakterláncot, amelyet az ip_str tárolt. A módszer casefold()segítségével alkalmatlanná tesszük a ház nélküli összehasonlításokra. Alapvetően ez a módszer a karakterlánc egy kisbetűs változatát adja vissza.

A szótár módszerrel fromkeys()új szótárt készítünk, amelynek kulcsa minden egyes magánhangzó és az összes értéke 0-nak felel meg. Ez a szám inicializálása.

Ezután a bemeneti karakterláncot iteráljuk egy for ciklus segítségével.

Minden iterációban ellenőrizzük, hogy a karakter szerepel-e a szótár kulcsaiban ( Trueha magánhangzó), és ha igaz, akkor 1-gyel növeljük az értéket.

Forráskód: Egy lista és egy szótár megértése

 # 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) 

Ennek a programnak a kimenete megegyezik a fentiekkel.

Itt beillesztettünk egy szövegértést egy szótári megértésbe, hogy a magánhangzókat egyetlen sorba számoljuk.

A szótár megértése az összes magánhangzóra lefut, és a szótár megértésének belsejében a szövegértés ellenőrzi, hogy a karakterlánc bármelyik karaktere megegyezik-e az adott magánhangzóval.

A végén egy 1 s- os lista jön létre az egyes magánhangzók száma számára. A sum()módszert az egyes listák elemeinek összegének kiszámítására használják.

Ez a program azonban lassabb, mivel az egyes magánhangzók teljes bemeneti karakterláncát iteráljuk.

érdekes cikkek...