Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình kiểm tra xem các nửa chuỗi có phải là tương đồng trong Python hay không

Giả sử chúng ta có một chuỗi s có độ dài là chẵn. Chúng ta phải chia chuỗi này thành hai nửa khác nhau có cùng độ dài. Vì vậy, hãy coi 'a' là nửa đầu và 'b' là nửa sau. Chúng ta nói hai chuỗi giống nhau khi chúng có cùng số nguyên âm (chữ hoa hoặc chữ thường). Chúng ta phải kiểm tra xem 'a' và 'b' có giống nhau hay không.

Vì vậy, nếu đầu vào giống như s ="talent", thì đầu ra sẽ là True vì hai nửa là "tal" và "ent", chúng giống nhau vì chúng chỉ có một nguyên âm và hai phụ âm.

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

  • a:=nửa bên trái của s

  • b:=nửa bên phải của s

  • count1:=0, count2:=0

  • cho mỗi c trong a, làm

    • nếu c là một nguyên âm thì

      • count1:=count1 + 1

  • đối với mỗi c trong b, làm

    • nếu c là một nguyên âm thì

      • count2:=count2 + 1

  • trả về true nếu count1 giống count2, ngược lại là false

Ví dụ (Python)

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

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

Đầu vào

"talent"

Đầu ra

True