Conta le sillabe in Python

Lakshay Kapoor 13 luglio 2021
  1. Usa l’istruzione if in Python per contare le sillabe
  2. Usa il dizionario e la comprensione delle liste in Python per contare le sillabe
  3. Usa il dizionario per la funzione fromkeys() in Python per contare le sillabe
  4. Usa le funzioni str() e set() in Python per contare le sillabe
Conta le sillabe in Python

Il conteggio di parole, frasi, lettere e alcuni caratteri specifici è un’attività comune nella programmazione. In tutti questi compiti, anche il conteggio delle sillabe in una parola o in una frase è una cosa molto comune da fare da parte dell’utente.

In questo tutorial vedremo diversi metodi con cui possiamo contare le sillabe in Python.

Usa l’istruzione if in Python per contare le sillabe

In questo metodo, inseriamo una stringa con l’aiuto della funzione input(), una funzione incorporata in Python.

Esempio:

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)

Qui, l’utente può inserire qualsiasi parola per utilizzare la funzione input(). Il conteggio delle sillabe è stato inizialmente impostato su 0 e tutte le sillabe da restituire dalla parola sono state menzionate utilizzando un cicli for. Notare che tutte le sillabe sono state date sia in minuscolo che in maiuscolo.

Produzione:

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

Usa il dizionario e la comprensione delle liste in Python per contare le sillabe

Nella comprensione degli elenchi, viene creato un nuovo elenco in base agli elementi di un elenco esistente. Dopo aver utilizzato la comprensione delle liste, l’output si presenta sotto forma di dizionario.

Il dizionario in Python è una raccolta di elementi che non sono archiviati in un ordine specifico. Ogni voce del dizionario ha il suo valore. Il valore dell’elemento può essere conosciuto se il nome dell’elemento è noto.

Esempio:

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)

Nota che la funzione casefold() è usata nel codice sopra. La funzione casefold() aiuta a convertire una stringa o un insieme di stringhe in minuscolo. Quindi, se ci sono alcune sillabe nella frase data in maiuscolo, questa funzione trasforma queste sillabe in minuscolo. Ora non c’è bisogno di menzionare le sillabe che devono essere restituite in maiuscolo e minuscolo.

Inoltre, il metodo sum() utilizzato nel codice precedente calcola la somma totale dei valori di ciascun elemento nella lista.

Produzione:

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

Puoi vedere che l’output restituito è un dizionario che ha elementi diversi come sillabe con il loro valore specificato.

Usa il dizionario per la funzione fromkeys() in Python per contare le sillabe

Con l’aiuto della funzione fromkeys() è possibile creare un dizionario con diversi elementi e il loro valore specificato.

Anche in questo metodo, usiamo la funzione casefold() in modo che il dato insieme di stringhe venga convertito in minuscolo e possiamo prendere l’input dall’utente stesso. Inoltre, anche in questo metodo, inizializziamo il conteggio delle sillabe con 0.

Esempio:

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)

Produzione:

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}

Usa le funzioni str() e set() in Python per contare le sillabe

La funzione set() viene utilizzata per restituire un oggetto set in cui tutti gli elementi non sono in un ordine particolare. Questa funzione rimuove anche gli elementi del set che si ripetono.

Con l’aiuto della funzione str(), qualsiasi valore o oggetto può essere convertito in una stringa.

In questo metodo, le sillabe saranno l’argomento della funzione set che significa che viene creato un insieme di sillabe.

Esempio:

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)

Produzione:

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