Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

단어 목록에서 단어 점수를 찾는 Python 프로그램

<시간/>

배열에 단어가 거의 없다고 가정합니다. 이 단어는 소문자입니다. 다음 규칙에 따라 이 단어 집합의 총점을 찾아야 합니다. −

  • 모음이 [a, e, i, o, u 및 y]

    라고 가정합니다.
  • 짝수의 모음이 포함된 단어의 경우 개별 단어의 점수는 2입니다.

  • 그렇지 않으면 해당 단어의 점수는 1입니다.

  • 전체 단어 집합의 점수는 집합의 모든 단어 점수의 합입니다.

따라서 입력이 단어 =["프로그래밍", "과학", "파이썬", "웹사이트", "하늘"]과 같으면 "프로그래밍"에는 3개의 모음 점수 1, "과학"이 있으므로 출력은 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