你怎么知道一个词有多少个元音?

2024-10-02 22:35:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个爱情计算器,它可以显示name1和name2有多少人在恋爱(100%),这取决于元音的匹配与否。以下是我目前的代码:

name1 = input("Please type Name 1.\n")
name2 = input("Please type Name 2.\n")
vowels1 = 0
vowels2 = 0
VOWELS = 'aeiou'
def up_it(word):
    letters = []
    for letter in name1:
        if letter.lower() in VOWELS:
            vowels1 = 1+vowels1 
print("You have",vowels1,"vowels.")

它没有显示name1中有多少元音。你怎么做才能让它显示name1中有多少个元音?你知道吗


Tags: 代码nameininputtype计算器please元音
3条回答

vowels1 = len([letter for letter in name1 if letter.lower() in VOWELS])

与其定义一个修改全局变量的函数,不如创建一个直接返回解的函数。这样,它就不依赖于某个脆弱的全球国家。你知道吗

def count_vowels(word):
    vowels = {'a', 'e', 'i', 'o', 'u'}  # I use a set here rather than a list because
                                        # sets have very fast membership checks.
    count = 0
    for letter in word:
        if letter in vowels:
            count += 1
    return count

然后你可以简单地做:

num_vowels = count_vowels(name1)

可能值得注意的是count_vowels可以简化为一行:

def count_vowels(word):
    return sum(lett in {'a', 'e', 'i', 'o', 'u'} for lett in word)
def up_it(word):
    vowel =['a','e','i','o','u']
    count =0
    for i in vowel:
        count+=word.count(i)
    return count

相关问题 更多 >