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

Chương trình kiểm tra hai nửa chuỗi có giống nhau về nguyên âm trong Python

Giả sử ta có chuỗi s độ dài chẵn. Ta chia chuỗi thành hai nửa bằng nhau: a (nửa đầu) và b (nửa sau). Hai chuỗi gọi là "alike" khi có cùng số lượng nguyên âm (hoa/thường). Kiểm tra a và b có alike không.

Ví dụ: s = "talent", kết quả là True vì hai nửa "tal" và "ent" đều có 1 nguyên âm.

Giải thuật

  1. a := s[:len(s)//2], b := s[len(s)//2:]
  2. count1 := 0, count2 := 0
  3. Với mỗi c trong a: nếu c là nguyên âm: count1++
  4. Với mỗi c trong b: nếu c là nguyên âm: count2++
  5. Trả về count1 == count2

Ví dụ (Python)

def solve(s):
    vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']
    a = s[:len(s)//2]
    b = s[len(s)//2:]
    count1 = count2 = 0
    for c in a:
        if c in vowels:
            count1 += 1
    for c in b:
        if c in vowels:
            count2 += 1
    return count1 == count2

s = "talent"
print(solve(s))

Input

"talent"

Output

True