Python 程式檢查字串的兩半是否相似


假設我們有一個長度為偶數的字串 s。我們需要將此字串分成兩個相同長度的不同部分。所以考慮 'a' 是前半部分,'b' 是後半部分。當兩個字串具有相同數量的母音(大寫或小寫)時,我們說這兩個字串相似。我們需要檢查 'a' 和 'b' 是否相似。

因此,如果輸入類似於 s = "talent",則輸出將為 True,因為兩個部分是 "tal" 和 "ent",它們相似,因為它們只有一個母音和兩個子音。

為了解決這個問題,我們將遵循以下步驟:

  • a := s 的左半部分

  • b := s 的右半部分

  • count1 := 0, count2 := 0

  • 對於 a 中的每個字元 c,執行以下操作:

    • 如果 c 是母音,則

      • count1 := count1 + 1

  • 對於 b 中的每個字元 c,執行以下操作:

    • 如果 c 是母音,則

      • count2 := count2 + 1

  • 如果 count1 與 count2 相同,則返回 true,否則返回 false

示例(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 = 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))

輸入

"talent"

輸出

True

更新於: 2021年5月18日

359 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告