Python-program för att räkna antalet varje vokal

I det här programmet lär du dig att räkna antalet för varje vokal i en sträng med hjälp av ordlista och listförståelse.

För att förstå detta exempel bör du ha kunskap om följande Python-programmeringsämnen:

  • Python for Loop
  • Python Strings
  • Strängmetoder

Källkod: Använda ordbok

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

Produktion

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

Här har vi tagit en sträng lagrad i ip_str. Med metoden gör casefold()vi den lämplig för falllösa jämförelser. I grund och botten returnerar den här metoden en lägre version av strängen.

Vi använder ordboksmetoden för fromkeys()att konstruera en ny ordbok med varje vokal som nyckel och alla värden är lika med 0. Detta är initialiseringen av räkningen.

Därefter itererar vi över inmatningssträngen med hjälp av en for-loop.

I varje iteration kontrollerar vi om tecknet finns i ordbokstangenterna ( Trueom det är en vokal) och ökar värdet med 1 om det är sant.

Källkod: Använd en lista och en ordlistaförståelse

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

Den utgång för detta program är samma som ovan.

Här har vi kapat en listförståelse inuti en ordlistaförståelse för att räkna vokalerna i en enda rad.

Ordbokens förståelse körs för alla vokaltecken och listförståelsen i ordlistans förståelse kontrollerar om några tecken i strängen matchar just den vokalen.

I slutet genereras en lista med 1 s för antalet för varje vokaltecken. Den sum()metod som används för att beräkna summan av elementen för varje lista.

Detta program är dock långsammare när vi itererar över hela inmatningssträngen för varje vokal.

Intressanta artiklar...