在 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