Program Python pentru a număra numărul fiecărei vocale

În acest program, veți învăța să numărați numărul fiecărei vocale dintr-un șir folosind dicționarul și înțelegerea listei.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare Python:

  • Python pentru buclă
  • Șiruri Python
  • Metode String

Cod sursă: folosirea dicționarului

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

Ieșire

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

Aici, am luat un șir stocat în ip_str. Folosind metoda casefold(), o facem potrivită pentru comparații fără casă. Practic, această metodă returnează o versiune cu litere mici a șirului.

Folosim metoda dicționarului fromkeys()pentru a construi un dicționar nou cu fiecare vocală ca cheie și toate valorile egale cu 0. Aceasta este inițializarea numărării.

Apoi, vom itera peste șirul de intrare folosind o buclă for.

În fiecare iterație, verificăm dacă caracterul se află în cheile dicționarului ( Truedacă este o vocală) și incrementăm valoarea cu 1 dacă este adevărat.

Cod sursă: folosind o listă și o înțelegere a dicționarului

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

Ieșirea acestui program este la fel ca mai sus.

Aici, am imbricat o listă de înțelegere în cadrul unei înțelegeri de dicționar pentru a număra vocalele într-o singură linie.

Înțelegerea dicționarului rulează pentru toate caracterele vocale și înțelegerea listei din cuprinsul dicționarului verifică dacă caracterele din șir se potrivesc cu vocala respectivă.

La sfârșit, se generează o listă cu 1 s pentru numărul fiecărui caracter vocal. sum()Metoda este utilizată pentru a calcula suma elementelor pentru fiecare listă.

Cu toate acestea, acest program este mai lent, pe măsură ce repetăm ​​întregul șir de intrare pentru fiecare vocală.

Articole interesante...