Програма Python для підрахунку кількості кожного голосного

У цій програмі ви навчитеся рахувати кількість кожного голосного у рядку за допомогою розуміння словника та списку.

Щоб зрозуміти цей приклад, ви повинні знати наступні теми програмування на Python:

  • Python для Loop
  • Рядки Python
  • Струнні методи

Вихідний код: Використання словника

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

Вихідні дані

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

Тут ми взяли рядок, що зберігається в ip_str. Використовуючи метод casefold(), ми робимо його придатним для безвипадкових порівнянь. В основному, цей метод повертає малу версію рядка.

Ми використовуємо словниковий метод, fromkeys()щоб побудувати новий словник з кожною голосною в якості ключа та всіма значеннями, рівними 0. Це ініціалізація відліку.

Далі ми перебираємо вхідний рядок, використовуючи цикл for.

У кожній ітерації ми перевіряємо, чи є символ у ключах словника ( Trueякщо він голосний), і збільшуємо значення на 1, якщо true.

Вихідний код: Використання списку та розуміння словника

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

Вихід цієї програми є те ж саме, що і вище.

Тут ми вклали розуміння списку всередину розуміння словника, щоб підрахувати голосні в один рядок.

Розуміння словника виконується для всіх голосних символів, а розуміння списку всередині словника перевіряє, чи символи в рядку відповідають цій голосній.

В кінці створюється список із 1 с для числа кожного голосного символу. sum()Метод використовується для обчислення суми елементів для кожного списку.

Однак ця програма працює повільніше, оскільки ми перебираємо весь вхідний рядок для кожного голосного.

Цікаві статті...