检查 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 次浏览

开启你的职业道路

完成课程,获得认证

立即开始
广告