write a program that checks if a given string is a palindrome
时间: 2024-09-13 12:07:42 浏览: 46
AIF_Cookbook_v4.0.pdf
要编写一个检查给定字符串是否是回文的程序,我们首先要定义什么是回文。回文是指正读和反读都相同的字符串,忽略大小写和非字母数字字符。下面是一个简单的Python程序,用来检查一个字符串是否是回文:
```python
def is_palindrome(s):
# 去除非字母数字字符,并将所有字符转换为小写
clean_s = ''.join(c.lower() for c in s if c.isalnum())
# 双指针方法检查字符串是否为回文
left, right = 0, len(clean_s) - 1
while left < right:
if clean_s[left] != clean_s[right]:
return False
left += 1
right -= 1
return True
# 示例使用
input_str = input("请输入一个字符串: ")
if is_palindrome(input_str):
print(f"'{input_str}' 是一个回文字符串。")
else:
print(f"'{input_str}' 不是一个回文字符串。")
```
程序通过两个指针分别指向字符串的开始和结束,然后逐个比较字符,如果在任何时候两个字符不匹配,就返回`False`表示字符串不是回文。如果所有字符都匹配,则在循环结束后返回`True`,表示字符串是回文。
阅读全文