定义一个名为
count_engcons()
的函数,它接受一个字符串和 返回字符串中的辅音数量(大写或 小写)。对于这个问题,您可能只考虑中的字母 仅限英语字母。而且,对于这个问题,“Y”是 被认为是辅音(......不是元音!)。所以举个例子count_engcons("Tessellated?")
应该返回7
,并且count_engcons("Aeiou!")
应该返回0
。您必须使用for
循环,并且 您不能在此问题上使用.count()
方法。
我试过了:
def count_engcons(x):
vowels = ("aeiou")
count = 0
for count_engcons in text:
if not count_engcons in vowels:
count += 1
return x
但是,它会导致错误。
谢谢,jonrsharpe为downvote。
答案 0 :(得分:-1)
您正在检查某个字符是否为元音,因此会对!
或?
等字符产生错误结果,您还试图访问具有不同变量名称的字符串(x
和text
),这没有任何意义。
def count_engcons(text):
consonants = "bcdfghijklmnpqrstvwxyz"
count = 0
for c in text.lower():
if c in consonants:
count += 1
return count