检查一个字符串是否回文,是则返回yes否则返回no
时间: 2023-05-22 08:03:17 浏览: 64
可以使用以下代码来检查一个字符串是否回文:
```python
def is_palindrome(string):
# 去除字符串中的空格并且转换为小写
string = string.replace(' ', '').lower()
# 检查字符串是否与反转后的字符串相同
return string == string[::-1]
# 例子
print(is_palindrome("Was it a car or a cat I saw?")) # 输出: True
print(is_palindrome("Hello, world!")) # 输出: False
```
上述代码首先使用 `replace` 函数去掉空格并把所有字符转换为小写,然后使用字符串内置函数 `[::-1]` 得到字符串的反转,最后比较原字符串与反转后的字符串是否相同以判断是否为回文。
相关问题
检查一个字符串是否是回文(正着读和反着读都一样的字符串),若是就输出yes,否则输出no
A:可以使用双指针法来检查一个字符串是否是回文。具体实现如下:
```
def is_palindrome(s):
i, j = 0, len(s) - 1 # 定义两个指针,i指向字符串开头,j指向字符串结尾
while i < j:
if s[i] != s[j]: # 如果当前指针所指的字符不相等,说明不是回文,返回no
return 'no'
i += 1 # 移动左边的指针
j -= 1 # 移动右边的指针
return 'yes' # 如果执行到这里,说明是回文,返回yes
# 测试
print(is_palindrome('level')) # 输出 yes
print(is_palindrome('hello')) # 输出 no
```
另外,Python也可以通过字符串切片[::-1]来实现字符串反转,从而进行字符串回文的检查:
```
def is_palindrome(s):
return 'yes' if s == s[::-1] else 'no' # 判断原字符串是否等于反转后的字符串
# 测试
print(is_palindrome('level')) # 输出 yes
print(is_palindrome('hello')) # 输出 no
```
编写程序,输入一个字符串,判断该字符串是不是回文字符串,是则输出Yes,不是则输出No。
好的我知道了。以下是一个简单的 Python 代码示例来实现这个功能:
```
string = input("请输入一个字符串:")
if string == string[::-1]:
print("Yes")
else:
print("No")
```
这里使用了切片 (slice) 功能,利用 [::-1] 反转字符串,然后与原字符串比较。如果相等,则是回文字符串,否则不是。