计算元音

sha*_*tac 6 python

任何人都可以告诉我这个脚本有什么问题.我是一个python newb但我似乎无法弄清楚可能导致它无法运行的原因.

def find_vowels(sentence):

    """
    >>> find_vowels(test)
    1

    """

    count = 0
    vowels = "aeiuoAEIOU"
    for letter in sentence:
        if letter in vowels:
            count += 1
    print count

if __name__ == '__main__':
    import doctest
    doctest.testmod()
Run Code Online (Sandbox Code Playgroud)

Mar*_*off 8

你打印count(一个数字),但你的测试需要这封信e.

此外,更多Pythonic计算元音的方法是列表理解:

>>> len([letter for letter in 'test' if letter in vowels])
1
Run Code Online (Sandbox Code Playgroud)

看看你找到的元音?只需删除该主要len功能:

>>> [letter for letter in 'stackoverflow' if letter in vowels]
['a', 'o', 'e', 'o']
Run Code Online (Sandbox Code Playgroud)


Ale*_*lli 6

除了你正在返回计数但期待一串元音的事实,正如其他人所说,你还必须改变线

>>> find_vowels(test)
Run Code Online (Sandbox Code Playgroud)

>>> find_vowels('test')
Run Code Online (Sandbox Code Playgroud)

你忘记了报价!