Program w Pythonie do zliczania liczby każdej samogłoski

W tym programie nauczysz się liczyć liczbę każdej samogłoski w ciągu za pomocą słownika i list.

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w Pythonie:

  • Python for Loop
  • Ciągi Pythona
  • Metody ciągów

Kod źródłowy: przy użyciu słownika

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

Wynik

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

Tutaj pobraliśmy ciąg przechowywany w ip_str. Korzystając z tej metody casefold(), dostosowujemy ją do porównań bezkrytycznych. Zasadniczo ta metoda zwraca wersję ciągu zapisaną małymi literami.

Używamy metody słownikowej fromkeys()do konstruowania nowego słownika z każdą samogłoską jako kluczem i wszystkimi wartościami równymi 0. To jest inicjalizacja licznika.

Następnie iterujemy po ciągu wejściowym za pomocą pętli for.

W każdej iteracji sprawdzamy, czy znak znajduje się w kluczach słownika ( Truejeśli jest to samogłoska) i zwiększamy wartość o 1, jeśli jest prawdziwa.

Kod źródłowy: korzystanie z listy i ze słownika

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

Wyjście tego programu jest taka sama jak powyżej.

Tutaj umieściliśmy rozumienie z listy wewnątrz wyrażenia słownikowego, aby policzyć samogłoski w jednej linii.

Rozumienie słownikowe działa dla wszystkich znaków samogłoskowych, a lista rozumiana wewnątrz słownika sprawdza, czy jakiekolwiek znaki w ciągu pasują do tej konkretnej samogłoski.

Na końcu generowana jest lista z 1 s dla numeru każdej samogłoski. sum()Metoda służy do obliczania sumy elementów dla każdej listy.

Jednak ten program jest wolniejszy, ponieważ iterujemy po całym ciągu wejściowym dla każdej samogłoski.

Interesujące artykuły...