Python
 Computer >> コンピューター >  >> プログラミング >> Python

単語のリストから単語スコアを見つけるPythonプログラム


配列にいくつかの単語があるとします。これらの単語は小文字です。次のルールに基づいて、これらの単語セットの合計スコアを見つける必要があります-

  • 母音が[a、e、i、o、u、y]であると考えてください

  • 単語に偶数の母音が含まれている場合、個々の単語のスコアは2です。

  • それ以外の場合、その単語のスコアは1です。

  • 単語のセット全体のスコアは、セット内のすべての単語のスコアの合計です。

したがって、入力がwords =["programming"、 "science"、 "python"、 "website"、 "sky"]の場合、 "programming"の母音スコアは1、 "science"であるため、出力は6になります。は3つの母音、スコア1、「python」は2つの母音スコア2、「website」は3つの母音スコア1、「sky」は1つの母音スコア1、つまり1 + 1 + 2 + 1 + 1=6です。

>

これを解決するには、次の手順に従います-

  • スコア:=0
  • 単語内の各単語について、
    • num_vowels:=0
    • 単語の各文字について、
      • 文字が母音の場合、
        • num_vowels:=num_vowels + 1
    • num_vowelsが偶数の場合、
      • スコア:=スコア+ 2
    • それ以外の場合、
      • スコア:=スコア+1
  • リターンスコア

理解を深めるために、次の実装を見てみましょう

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

  1. 2つの文字列から珍しい単語を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 2つの文字列が与えられているので、与えられた文字列から珍しい単語を取得する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # uncommon words def find(A, B):    # count    count = {}    # insert in A    for word in A.split():       count[word] = coun

  2. リストからN個の最大の要素を見つけるPythonプログラム

    整数リストが与えられた場合、私たちのタスクはリスト内で最大のN個の要素を見つけることです。 例 Input : [40, 5, 10, 20, 9] N = 2 Output: [40, 20] アルゴリズム Step1: Input an integer list and the number of largest number. Step2: First traverse the list up to N times. Step3: Each traverse find the largest value and store it in a new list. 例 def Nnumbere