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

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告