判断输入的字符串是否为回文对联(对联的第n个字和倒数的第n个字相同) 提示:如输入“客上天然居,居然天上客”,显示“客上天然居,居然天上客 是回文对联”。
时间: 2024-10-25 20:03:48 浏览: 37
判断字符串是否为回文对联,就是检查每个字符与其对应的反向位置字符是否相等。例如,对于一个由偶数字符组成的字符串,我们需要比较第一个字符和最后一个,第二个字符和倒数第二个,以此类推。如果所有的对应字符都相同,则该字符串是回文对联。
以下是一个简单的Python函数示例,用于检查输入的字符串:
```python
def is_palindrome_couplet(s):
# 将字符串转换为小写并移除空格
s = s.lower().replace(' ', '')
# 如果字符串长度是奇数,中间的字符不需要匹配
if len(s) % 2 != 0:
mid_index = len(s) // 2
left_half = s[:mid_index]
right_half = s[mid_index+1:]
else:
left_half = s[:len(s) // 2]
right_half = s[len(s) // 2:]
# 比较两个半部分是否相同
return left_half == right_half[::-1]
# 测试例子
input_str = "客上天然居,居然天上客"
result = is_palindrome_couplet(input_str)
if result:
print(f"{input_str} 是回文对联")
else:
print(f"{input_str} 不是回文对联")
```
阅读全文