Contar sílabas en Python

Lakshay Kapoor 30 enero 2023
  1. Utilice la declaración if en Python para contar sílabas
  2. Use el diccionario y la comprensión de listas en Python para contar sílabas
  3. Utilice el diccionario por la función fromkeys() en Python para contar sílabas
  4. Utilice las funciones str() y set() en Python para contar sílabas
Contar sílabas en Python

Contar palabras, frases, letras y algunos caracteres específicos es una tarea común en la programación. En todas estas tareas, contar sílabas en una palabra o en una oración también es algo muy común que hace el usuario.

En este tutorial, veremos diferentes métodos mediante los cuales podemos contar sílabas en python.

Utilice la declaración if en Python para contar sílabas

En este método, ingresamos una cadena con la ayuda de la función input(), una función incorporada en Python.

Ejemplo:

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)

Aquí, el usuario puede ingresar cualquier palabra para usar la función input(). El recuento de sílabas se ha establecido en 0 inicialmente, y todas las sílabas que se devolverán de la palabra se han mencionado mediante un bucle for. Tenga en cuenta que todas las sílabas se han dado en minúsculas y en mayúsculas.

Producción :

Enter the word: Beautiful
The number of syllables in the word is: 5

Use el diccionario y la comprensión de listas en Python para contar sílabas

En la comprensión de listas, se crea una nueva lista basada en los elementos de una lista existente. Después de usar la comprensión de listas, la salida viene en forma de diccionario.

El diccionario en Python es una colección de elementos que se almacenan sin un orden específico. Cada elemento del diccionario tiene su propio valor. El valor del artículo se puede conocer si se conoce el nombre del artículo.

Ejemplo:

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)

Tenga en cuenta que la función casefold() se utiliza en el código anterior. La función casefold() ayuda a convertir una cadena o un conjunto de cadenas a minúsculas. Entonces, si hay algunas sílabas en la oración dada en mayúsculas, esta función convierte estas sílabas en minúsculas. Ahora no es necesario mencionar las sílabas que se devolverán en mayúsculas y minúsculas.

Además, el método sum() utilizado en el código anterior calcula la suma total de los valores de cada elemento de la lista.

Producción :

{'a': 3, 'e': 11, 'i': 2, 'o': 2, 'u': 1}

Puede ver que la salida devuelta es un diccionario que tiene diferentes elementos como sílabas con su valor especificado.

Utilice el diccionario por la función fromkeys() en Python para contar sílabas

Con la ayuda de la función fromkeys(), se puede hacer un diccionario con diferentes elementos y su valor especificado.

En este método también, usamos la función casefold() para que el conjunto de cadenas dado se convierta en minúsculas y podamos tomar la entrada del propio usuario. Además, incluso en este método, inicializamos la cuenta de sílabas con 0.

Ejemplo:

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)

Producción :

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}

Utilice las funciones str() y set() en Python para contar sílabas

La función set() se utiliza para devolver un objeto de conjunto en el que todos los elementos no están en ningún orden en particular. Esta función también elimina los elementos del conjunto que se repiten.

Con la ayuda de la función str(), cualquier valor o un objeto se puede convertir en una cadena.

En este método, las sílabas serán el argumento de la función de conjunto que significa que se crea un conjunto de sílabas.

Ejemplo:

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)

Producción :

Total no. of syllables : 5
Lakshay Kapoor avatar Lakshay Kapoor avatar

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