在 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