Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python tính điểm từ danh sách từ


Giả sử chúng ta có một vài từ trong một mảng. Các từ này là chữ thường. Chúng ta phải tìm tổng điểm của tập từ này dựa trên các quy tắc sau:

  • Xem các nguyên âm là [a, e, i, o, u và y]

  • Điểm của một từ riêng lẻ là 2 khi từ chứa số lượng nguyên âm chẵn.

  • Ngược lại, điểm của từ đó là 1.

  • Điểm cho toàn bộ tập từ là tổng điểm của tất cả các từ trong tập.

Vì vậy, nếu đầu vào là words = ["programming", "science", "python", "website", "sky"], thì đầu ra sẽ là 6 vì "programming" có 3 nguyên âm điểm 1, "science" có 3 nguyên âm điểm 1, "python" có 2 nguyên âm điểm 2, "website" có 3 nguyên âm điểm 1, "sky" có 1 nguyên âm điểm 1, tổng 1+1+2+1+1 = 6.

Để giải quyết vấn đề này, chúng ta sẽ làm theo các bước sau:

  • score := 0
  • với mỗi word trong words, thực hiện
    • num_vowels := 0
    • với mỗi letter trong word, thực hiện
      • nếu letter là nguyên âm, thì num_vowels += 1
    • nếu num_vowels chẵn, score += 2, ngược lại score += 1
  • trả về score

Ví dụ

Hãy xem triển khai sau để hiểu rõ hơn:

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))

Đầu vào

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

Đầu ra

6