Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python หาคะแนนคำจากรายการคำศัพท์


สมมติว่าเรามีคำไม่กี่คำในอาร์เรย์ คำเหล่านี้เป็นอักษรตัวพิมพ์เล็ก เราต้องหาคะแนนรวมของชุดคำเหล่านี้ตามกฎต่อไปนี้ -

  • พิจารณาสระว่า [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