Python programma, lai saskaitītu katra patskaņa skaitu

Šajā programmā jūs iemācīsities saskaitīt katra patskaņa skaitu virknē, izmantojot vārdnīcu un saraksta izpratni.

Lai saprastu šo piemēru, jums jābūt zināšanām par šādām Python programmēšanas tēmām:

  • Python for Loop
  • Python virknes
  • Stīgu metodes

Avota kods: Izmantojot vārdnīcu

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

Rezultāts

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

Šeit mēs esam paņēmuši virkni, kas saglabāta ip_str. Izmantojot metodi casefold(), mēs to darām piemērotu bezkontaktu salīdzinājumiem. Būtībā šī metode atgriež virknes mazo burtu versiju.

Mēs izmantojam vārdnīcas metodi, fromkeys()lai izveidotu jaunu vārdnīcu ar katru patskaņu kā atslēgu un visām vērtībām, kas vienādas ar 0. Tā ir skaitļa inicializācija.

Pēc tam mēs atkārtojam ievades virkni, izmantojot for loop.

Katrā atkārtojumā mēs pārbaudām, vai rakstzīme atrodas vārdnīcas taustiņos ( Trueja tas ir patskaņs) un palielinām vērtību par 1, ja tā ir taisnība.

Avota kods: saraksta un vārdnīcas izpratnes izmantošana

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

Izejas Šīs programmas ir tāds pats kā iepriekš.

Šeit mēs esam ievietojuši saraksta izpratni vārdnīcas izpratnē, lai saskaitītu patskaņus vienā rindā.

Vārdnīcas izpratne darbojas visām patskaņu rakstzīmēm, un saraksta izpratne vārdnīcas izpratnē pārbauda, ​​vai virknes rakstzīmes atbilst konkrētajam patskaņam.

Beigās tiek izveidots saraksts ar 1 s katra patskaņa rakstzīmju skaitam. sum()Metode tiek izmantota, lai aprēķinātu summu elementiem par katru sarakstu.

Tomēr šī programma ir lēnāka, jo mēs atkārtojam visu ievades virkni katram patskaņam.

Interesanti raksti...