Python代码-使用元音返回字符串中的第一个单词

时间:2018-12-27 01:54:32

标签: python

Python的新手。我想从以元音开头的输入字符串返回第一个工作。如果找到,则返回单词,否则返回空字符串。具有以下代码,但是else语句似乎不起作用。

for word in string_list:
    if word[0] in ['a','e','i','o','u']:
        return word
    else:
        return ""

3 个答案:

答案 0 :(得分:4)

您只能在函数内部return,例如:

string_list = ['frst', 'hello', 'and']


def first_with_vowel(words):
    vowels = 'aeiou'
    for word in words:
        if any(vowel == word[0] for vowel in vowels):
            return word
    return ""


print(first_with_vowel(string_list))    

输出

and

要验证是否任何一个元音是单词的第一个字母,可以使用any。如果任何元音是单词的第一个字母,则函数True的所有字符都等于该单词。

在您的代码中,else的位置也不正确,如果第一个单词不是以元音开头,即使第二个单词都以元音开头,您也将返回""。您可以删除else,然后在循环结束时返回""(例如,在上面的示例代码中),这意味着没有单词以元音开头。

答案 1 :(得分:0)

return应该在函数中使用。所以,

def checker(word):
    if word[0] in ['a','e','i','o','u']:
         return word
    else:
         return ""

checker("isuru")

这有效。

答案 2 :(得分:0)

在您的代码中,如果在函数内部使用for循环,则for循环将仅执行一次,因为您只是在检查第一个单词并从函数中返回。相反,您只能在for循环内使用if条件,并在for循环外返回空字符串部分。

您还需要检查小写和大写字母/元音。 string_list这是字符串列表。

def findFirstWordWithVowel(string_list):
    for word in string_list:
        if word[0] in "aeiouAEIOU":
            return word
    return ""