簡體   English   中英

如果 String s 中沒有字符是 Python 中的元音,則返回 True

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM