[英]Return True if no character in String s is a vowel in Python
我試過尋找答案,但似乎沒有任何幫助。 我弄完了:
def noVowel(s):
'return True if string s contains no vowel, False otherwise'
for char in s:
if char.lower() not in 'aeiou':
return True
else:
return False
無論字符串如何,它始終返回 True。
你幾乎猜對了,但問題是,一旦你看到一個非元音字符,你就會立即返回 True 。 在確定所有內容都是非元音之后,您想返回 True:
def noVowel(s):
'return True if string s contains no vowel, False otherwise'
for char in s:
if char.lower() in 'aeiou':
return False
return True # We didn't return False yet, so it must be all non-vowel.
重要的是要記住return
阻止函數的其余部分運行,因此只有在您確定函數已完成計算時才返回。 在你的情況下,一旦我們看到一個元音,我們就可以安全地return False
,即使我們沒有檢查整個字符串。
具有any
和短路特性:
def noVowel(s):
return not any(vowel in s.lower() for vowel in "aeiou")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.