在 Python 中計算音節
-
在 Python 中使用
if
語句來計算音節 - 在 Python 中使用字典和列表推導來計算音節
-
在 Python 中使用 Dictionary by
fromkeys()
函式來計算音節 -
使用 Python 中的
str()
和set()
函式來計算音節
計算單詞、短語、字母和某些特定字元是程式設計中的一項常見任務。在所有這些任務中,計算單詞或句子中的音節也是使用者非常常見的事情。
在本教程中,我們將看到在 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 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