在 Python 中計算音節

Lakshay Kapoor 2023年1月30日 2021年7月13日
  1. 在 Python 中使用 if 語句來計算音節
  2. 在 Python 中使用字典和列表推導來計算音節
  3. 在 Python 中使用 Dictionary by fromkeys() 函式來計算音節
  4. 使用 Python 中的 str()set() 函式來計算音節
在 Python 中計算音節

計算單詞、短語、字母和某些特定字元是程式設計中的一項常見任務。在所有這些任務中,計算單詞或句子中的音節也是使用者非常常見的事情。

在本教程中,我們將看到在 python 中計算音節的不同方法。

在 Python 中使用 if 語句來計算音節

在這個方法中,我們在 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}

你可以看到返回的輸出是一個字典,其中將不同的專案作為音節並具有指定的值。

在 Python 中使用 Dictionary by fromkeys() 函式來計算音節

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}

使用 Python 中的 str()set() 函式來計算音節

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