檢查 Python 中的字串是否為科林德羅馬


假設我們有字串 s。我們需要檢查給定的字串是否為科林德羅馬。科林德羅馬是 6 個長度的迴文串串聯而成。

所以,如果輸入類似 s = "aabbaamnoonm",則輸出將為 True,因為它包含類似 "aabbaa" 和 "mnoonm" 的迴文串,長度都是 6。

為實現此目的,我們將執行以下步驟 −

  • 如果 s 的長度不是 6 的倍數,則
    • 返回 False
  • 對於 i 的範圍從 0 到 s 的長度 - 1,增加 6,執行
    • 如果 s[從索引 i 到 i+5] 不是迴文串,則
      • 返回 False
  • 返回 True

讓我們檢視以下實現,以便更好地理解 −

示例

 實際演示

def is_palindrome(s):
   return s == s[::-1]
def solve(s):
   if len(s) % 6 != 0:
      return False
   for i in range(0, len(s), 6):
      if not is_palindrome(s[i : i+6]):
         return False
   return True
s = "aabbaamnoonm"
print(solve(s))

輸入

"aabbaamnoonm"

輸出

True

更新時間:2020 年 12 月 29 日

303 次瀏覽

開啟你的職業道路

完成課程,獲得認證

立即開始
廣告
© . All rights reserved.