Программа на Python для подсчета количества каждой гласной

В этой программе вы научитесь считать количество каждой гласной в строке, используя словарь и понимание списка.

Чтобы понять этот пример, вы должны знать следующие темы программирования Python:

  • Python для цикла
  • Строки 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, если оно истинно.

Исходный код: использование списка и понимание словаря

 # 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()Метод используется для вычисления суммы элементов для каждого списка.

Однако эта программа работает медленнее, поскольку мы перебираем всю входную строку для каждой гласной.

Интересные статьи...