我如何在python中编写一个函数“noVowel”来确定一个单词是否没有元音?
就我而言,“y”不是元音。
例如,如果单词类似于“My”,我希望函数返回True,如果单词类似“banana”,则返回false。
答案 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
希望它有所帮助!