如何在python中创建元音计数器
标题说明一切! 我试图在我创建的菜单中创建一个“显示统计信息”选项。输入一个句子后,它将显示以下内容。例如: 字符串分析: 6个字 26个字符 9个元音 17个辅音。 我已经做了整个单词和字符计数器现在我需要做元音和辅音,有人能帮我吗?我非常感谢您的支持 到目前为止,我得到的是:如何在python中创建元音计数器,python,Python,标题说明一切! 我试图在我创建的菜单中创建一个“显示统计信息”选项。输入一个句子后,它将显示以下内容。例如: 字符串分析: 6个字 26个字符 9个元音 17个辅音。 我已经做了整个单词和字符计数器现在我需要做元音和辅音,有人能帮我吗?我非常感谢您的支持 到目前为止,我得到的是: def displayst(): print() print("You said the following:") time.sleep(1) length = str(input("P
def displayst():
print()
print("You said the following:")
time.sleep(1)
length = str(input("Please enter your sentence: "))
word = dis(length)
lengths = diss(length)
vowel = disv(length)
print(length)
time.sleep(1)
print()
print("String Analysis:",'\n', word, "Words",'\n', lengths, "Characters",'\n',vowel,"Vowels",'\n')
again()
元音=disv(长度)是我需要完成的,如果你能帮我处理辅音,那就太好了!如果不是,我主要需要元音做为辅音,我想我可以试试哈哈
然后在我的disv(长度)中:
这太疯狂了,我真的不知道我要去哪里,哈哈。
请帮我干杯。您没有从disv返回任何东西,这就是为什么它说元音无。您可以使用
计数器
获取元音计数
from collections import Counter
x = Counter(length)
vowel_count = 0
for v in "aeiou":
vowel_count += x[v]
return vowel_count
这将返回句子中元音的确切数目。如果要计数,请使用计数器:
from collections import Counter
inp = input("Please enter your sentence: ").lower()
cn = Counter(inp)
vowels = {v: cn[v] for v in "aeiou" if v in cn}
cons = {c: cn[c] for c in "bcdfghjklmnpqrstvwxyz" if c in cn}
如果需要总计数,只需将值相加:
print(sum(vowels.values()))
print(sum(cons.values()))
如果您只需要这些金额:
vowels = sum(cn[v] for v in "aeiou")
cons = sum(cn[c] for c in "bcdfghjklmnpqrstvwxy")
[]侧的列表返回每个元音出现的列表。外和将计数相加,得出总元音计数 那么问题是什么呢?您的代码似乎正常工作…当我运行程序时,我得到以下信息:您说了以下内容:{'a':0'o':1'u':0'e':1'i':0}您好字符串分析:1个单词5个字符无元音您想再做一次选择吗?1.是的。不,“这都是疯狂的”不是一个足够的问题描述(除非你处理时区)。是的,我所说的疯狂是,它给我:{'a':0,'o':1,'u':0,'e':1,'i':0}当我输入“hello”时,我想让它告诉我句子中到底有多少个元音。哇,非常感谢!它工作得很好。我花了这么多时间试图改变现状,找到一个可行的解决方案,巴尤姆!马上回答,谢谢。是的,我不明白为什么每个人都用柜台。这很好。@PadraicCunningham你什么意思?是的,我不理解相关性,除非你指的是时间复杂性。否则,这将完成所需的任务;去掉方括号,就会得到一个生成器表达式,它通常更节省时间和空间。这在这里没有多大区别,但了解它是件好事。
vowels = sum(cn[v] for v in "aeiou")
cons = sum(cn[c] for c in "bcdfghjklmnpqrstvwxy")
def getInput():
sentenceInput=input('Enter your sentence: ')
return sentenceInput
def count(sentenceInput):
vowelList=['a','e','i','o','u']
vowelCount = 0
constCount = 0
spaceCount = 0
for char in sentenceInput:
if char in vowelList:
vowelCount += 1
elif char == ' ':
spaceCount += 1
else:
constCount +=1
print ('Length: ' + str(len(sentenceInput)) + ', Words: ' + str(spaceCount) + ', Vowels: ' + str(vowelCount) + ', Consonants: ' + str(constCount))
count(getInput())
vcount = sum([s.count(v) for v in 'aeiou'])