สมมติว่าเรามีคำไม่กี่คำในอาร์เรย์ คำเหล่านี้เป็นอักษรตัวพิมพ์เล็ก เราต้องหาคะแนนรวมของชุดคำเหล่านี้ตามกฎต่อไปนี้ -
-
พิจารณาสระว่า [a, e, i, o, u และ y]
-
คะแนนของแต่ละคำคือ 2 เมื่อคำนั้นมีสระเป็นจำนวนคู่
-
มิฉะนั้น คะแนนของคำนั้นคือ 1.
-
คะแนนของคำศัพท์ทั้งชุดคือผลรวมของคะแนนทุกคำในชุดคำ
ดังนั้น ถ้าอินพุตเหมือนคำ =["programming", "science", "python", "website", "sky"] ผลลัพธ์จะเป็น 6 เพราะ "programming" มี 3 สระ ได้ 1 คะแนน "science" มีสามสระ คะแนน 1 "หลาม" มี 2 สระ คะแนน 2 "เว็บไซต์" มีสามเสียงสระ 1 คะแนน "ท้องฟ้า" มี 1 คะแนนเสียงสระ 1 ดังนั้น 1 + 1 + 2 + 1 + 1 =6
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- คะแนน :=0
- สำหรับแต่ละคำในคำ ทำ
- num_vowels :=0
- สำหรับแต่ละตัวอักษรใน word ทำ
- ถ้าตัวอักษรเป็นสระ
- 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