Python程序:从单词列表中查找单词得分


假设我们有一个数组中包含一些单词。这些单词都是小写字母。我们必须根据以下规则找到这组单词的总分:

  • 元音字母为[a, e, i, o, u 和 y]

  • 当单词包含偶数个元音时,单个单词的分数为2。

  • 否则,该单词的分数为1。

  • 整组单词的得分是该组中所有单词得分的总和。

因此,如果输入类似于 words = ["programming", "science", "python", "website", "sky"],则输出将为 6,因为"programming" 有 3 个元音,得分 1;"science" 有三个元音,得分 1;"python" 有两个元音,得分 2;"website" 有三个元音,得分 1;"sky" 有一个元音,得分 1,所以 1 + 1 + 2 + 1 + 1 = 6。

为了解决这个问题,我们将遵循以下步骤:

  • score := 0
  • 对于 words 中的每个单词,执行:
    • num_vowels := 0
    • 对于单词中的每个字母,执行:
      • 如果字母是元音,则:
        • num_vowels := num_vowels + 1
    • 如果 num_vowels 是偶数,则:
      • score := score + 2
    • 否则:
      • score := score + 1
  • 返回 score

示例

让我们看看下面的实现,以便更好地理解

def solve(words):
   score = 0
   for word in words:
      num_vowels = 0
      for letter in word:
         if letter in ['a', 'e', 'i', 'o', 'u', 'y']:
            num_vowels += 1
      if num_vowels % 2 == 0:
         score += 2
      else:
         score +=1
   return score

words = ["programming", "science", "python", "website", "sky"]
print(solve(words))

输入

["programming", "science", "python", "website", "sky"]

输出

6

更新于:2021年10月12日

636 次查看

开启您的职业生涯

完成课程获得认证

开始学习
广告