我如何在python中编写一个函数来确定一个单词是否没有元音?

时间:2016-09-23 01:14:27

标签: python

我如何在python中编写一个函数“noVowel”来确定一个单词是否没有元音?

就我而言,“y”不是元音。

例如,如果单词类似于“My”,我希望函数返回True,如果单词类似“banana”,则返回false。

2 个答案:

答案 0 :(得分:1)

any(vowel in word for vowel in 'aeiou')

word是您正在搜索的字词。

细分:

如果any检查的任何值返回True,则

True会返回False

for vowel in 'aeiou'vowel的值设置为a,然后是e,然后是i,等等。

vowel in word检查字符串word是否包含元音。

如果你不明白为什么会这样,我建议你查找生成器表达式,它们是一个非常有价值的工具。

修改

糟糕,如果有元音,则返回True,否则返回False。换句话说,你可以

all(vowel not in word for vowel in 'aeiou')

not any(vowel in word for vowel in 'aeiou')

答案 1 :(得分:0)

试试这个:

def noVowel(word):
    vowels = 'aeiou' ## defining the vowels in the English alphabet
    hasVowel= False ## Boolean variable that tells us if there is any vowel
    for i in range(0,len(word)): ## Iterate through the word
        if word[i] in vowels: ## If the char at the current index is a vowel, break out of the loop
            hasVowel = True
            break
        else: ## if not, keep the boolean false
            hasVowel=False
    ## check the boolean, and return accordingly
    if hasVowel: 
        return False
    else:
        return True

希望它有所帮助!