Подсчет слогов в Python
-
Используйте оператор
if
в Python для подсчета слогов - Использование словаря и понимания списков в Python для подсчета слогов
-
Используйте словарь с помощью функции
fromkeys()
в Python для подсчета слогов -
Используйте функции
str()
иset()
в Python для подсчета слогов

Подсчет слов, фраз, букв и некоторых конкретных символов - обычная задача в программировании. Во всех этих задачах пользователь часто делает подсчет слогов в слове или предложении.
В этом руководстве мы увидим различные методы, с помощью которых мы можем подсчитывать слоги в Python.
Используйте оператор if
в Python для подсчета слогов
В этом методе мы вводим строку с помощью функции input()
, встроенной в Python.
Пример:
word=input("Enter the word:")
syllable_count=0
for w in word:
if(w=='a' or w=='e' or w=='i' or w=='o' or w=='u' or w=='A' or w=='E' or w=='I' or w=='O' or w=='U'):
syllable_count=syllable_count+1
print("The number of syllables in the word is: ")
print(syllable_count)
Здесь пользователь может ввести любое слово для использования функции input()
. Счетчик слогов изначально был установлен на 0, и все слоги, которые должны быть возвращены из слова, были упомянуты с использованием цикла for
. Обратите внимание, что все слоги были даны как в нижнем, так и в верхнем регистре.
Выход:
Enter the word: Beautiful
The number of syllables in the word is: 5
Использование словаря и понимания списков в Python для подсчета слогов
В понимании списка новый список создается на основе элементов в существующем списке. После использования понимания списка вывод приходит в виде словаря.
Словарь в Python - это набор элементов, которые хранятся в произвольном порядке. Каждый элемент в словаре имеет собственное значение. Значение элемента можно узнать, если известно имя элемента.
Пример:
sentence = 'Hello, Let us see how many syllables are there in this sentence'
sentence = sentence.casefold()
vowel_count = {s:sum([1 for letter in sentence if letter == x]) for s in 'aeiou'}
print(vowel_count)
Обратите внимание, что в приведенном выше коде используется функция casefold()
. Функция casefold()
помогает преобразовать строку или набор строк в нижний регистр. Таким образом, если в данном предложении есть несколько слогов в верхнем регистре, эта функция переводит эти слоги в нижний регистр. Теперь нет необходимости упоминать слоги, которые нужно вернуть в верхнем и нижнем регистре.
Кроме того, метод sum()
, используемый в приведенном выше коде, вычисляет общую сумму значений каждого элемента в списке.
Выход:
{'a': 3, 'e': 11, 'i': 2, 'o': 2, 'u': 1}
Вы можете видеть, что возвращаемый результат представляет собой словарь, в котором есть разные элементы в виде слогов с указанным значением.
Используйте словарь с помощью функции fromkeys()
в Python для подсчета слогов
С помощью функции fromkeys()
можно составить словарь с разными элементами и их заданным значением.
В этом методе мы также используем функцию casefold()
, чтобы данный набор строк преобразовывался в нижний регистр, и мы могли принимать ввод от самого пользователя. Кроме того, даже в этом методе мы инициализируем счетчик слогов с 0.
Пример:
syllables = 'aeiou'
word = input("Enter a word or a sentence: ")
word = word.casefold()
syllable_count = {}.fromkeys(syllables,0)
for w in word:
if w in syllable_count:
syllable_count[w] += 1
print(syllable_count)
Выход:
Enter a word or a sentence: Hello, Let Us See How Many Syllables Are There In This Sentence
{'a': 3, 'e': 11, 'i': 2, 'o': 2, 'u': 1}
Используйте функции str()
и set()
в Python для подсчета слогов
Функция set()
используется для возврата заданного объекта, в котором все элементы не расположены в определенном порядке. Эта функция также удаляет повторяющиеся элементы в наборе.
С помощью функции str()
любое значение или объект можно преобразовать в строку.
В этом методе слоги будут аргументом функции set, что означает создание набора слогов.
Пример:
def syllable_count(str):
count = 0
syllables = set("AEIOUaeiou")
for letter in str:
if letter in syllables:
count = count + 1
print("Total no. of syllables :", count)
str = 'beautiful'
syllable_count(str)
Выход:
Total no. of syllables : 5
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn