📜  Python程序检查字符串是对称的还是回文的(1)

📅  最后修改于: 2023-12-03 15:19:35.434000             🧑  作者: Mango

Python程序检查字符串是对称的还是回文的

对称的字符串是指可以对折成两部分重合的字符串,例如ABCCBA,而回文的字符串是指从前往后和从后往前读都一样的字符串,例如level。在本文中,我们将介绍如何使用Python编写一个函数来检查给定字符串是对称的还是回文的。

代码实现

下面是一个Python程序,用于检查一个字符串是否对称或回文。它实现了两个函数:

  • is_symmetric(string):检查给定字符串是否对称。
  • is_palindrome(string):检查给定字符串是否回文。
def is_symmetric(string):
    length = len(string)
    if length % 2 != 0:
        return False
    else:
        for i in range(length//2):
            if string[i] != string[length-i-1]:
                return False
        return True

def is_palindrome(string):
    if string == string[::-1]:
        return True
    else:
        return False
使用示例

下面是一些示例,展示了如何使用这两个函数来检查字符串是否对称或回文。每个示例都显示了输入字符串、函数调用的结果以及期望的输出结果。

检查对称的字符串:

string = "ABCCBA"
result = is_symmetric(string)
print("string:", string)
print("is_symmetric:", result)
print("Expected result: True")

输出:

string: ABCCBA
is_symmetric: True
Expected result: True

检查不对称的字符串:

string = "ABCDCBA"
result = is_symmetric(string)
print("string:", string)
print("is_symmetric:", result)
print("Expected result: False")

输出:

string: ABCDCBA
is_symmetric: False
Expected result: False

检查回文字符串:

string = "level"
result = is_palindrome(string)
print("string:", string)
print("is_palindrome:", result)
print("Expected result: True")

输出:

string: level
is_palindrome: True
Expected result: True

检查非回文字符串:

string = "hello"
result = is_palindrome(string)
print("string:", string)
print("is_palindrome:", result)
print("Expected result: False")

输出:

string: hello
is_palindrome: False
Expected result: False
总结

在本文中,我们已经介绍了如何使用Python编写一个函数来检查一个字符串是对称的还是回文的。通过这个函数,我们可以轻松地检查一个字符串是否具有这两种特性,这有助于我们更好地理解和处理字符串相关的问题。