Python-program for å telle antall hver vokal

I dette programmet lærer du å telle antallet for hver vokal i en streng ved hjelp av ordbok og listeforståelse.

For å forstå dette eksemplet, bør du ha kunnskap om følgende Python-programmeringsemner:

  • Python for Loop
  • Python-strenger
  • Strengmetoder

Kildekode: Bruk av 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) 

Produksjon

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

Her har vi tatt en streng lagret i ip_str. Ved hjelp av metoden casefold()gjør vi den egnet for tilfellerløse sammenligninger. I utgangspunktet returnerer denne metoden en versjon av strengen med lavere versjon.

Vi bruker ordbokmetoden fromkeys()til å konstruere en ny ordbok med hver vokal som nøkkel og alle verdier lik 0. Dette er initialiseringen av tellingen.

Deretter itererer vi over inngangsstrengen ved hjelp av en for loop.

I hver iterasjon sjekker vi om tegnet er i ordbokstastene ( Truehvis det er vokal) og øker verdien med 1 hvis den er sann.

Kildekode: Bruke en liste og en ordbokforstå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 Utgangen av dette programmet er det samme som ovenfor.

Her har vi nestet en listeforståelse i en ordbokforståelse for å telle vokalene i en enkelt linje.

Ordbokens forståelse kjører for alle vokaltegn, og listeforståelsen inne i ordbokens forståelse sjekker om noen tegn i strengen samsvarer med den aktuelle vokalen.

På slutten genereres en liste med 1 s for antallet av hvert vokaltegn. Den sum()metoden brukes til å beregne summen av elementene for hver liste.

Imidlertid er dette programmet tregere når vi gjentar over hele inngangsstrengen for hver vokal.

Interessante artikler...