4. 定义函数并测试,判断一个字符串是否是回文(顺读倒读都一样的字符串如:abba)。
时间: 2024-03-11 09:48:55 浏览: 22
可以借助Python的切片特性,将字符串逆序后与原字符串进行比较,如果相等,则说明该字符串是回文。具体实现如下:
```python
def is_palindrome(s):
"""
判断字符串是否是回文
参数:
s:要判断的字符串
返回值:
True:是回文
False:不是回文
"""
# 将字符串逆序
reverse_s = s[::-1]
# 比较逆序后的字符串是否和原字符串相等
if s == reverse_s:
return True
else:
return False
```
测试:
```python
# 测试
print(is_palindrome("abba")) # True
print(is_palindrome("abcba")) # True
print(is_palindrome("hello")) # False
```
输出结果为:
```
True
True
False
```
说明函数实现正确。
相关问题
:使用指向字符串的指针来判断输入的一个字符串是否是回文。所谓回文,即顺读和倒读都是一样的。如 eye,level,abba等。
好的,您可以使用以下代码来实现:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
return 0;
}
}
return 1;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (isPalindrome(str)) {
printf("%s 是回文字符串\n", str);
} else {
printf("%s 不是回文字符串\n", str);
}
return 0;
}
```
在这里,我们定义了一个名为 `isPalindrome` 的函数,它接受一个指向字符串的指针作为参数,并返回一个整数。该函数通过比较字符串的前半部分和后半部分来确定字符串是否是回文。如果字符串是回文,函数返回1,否则返回0。
在 `main` 函数中,我们首先从用户那里读取一个字符串,然后调用 `isPalindrome` 函数来确定该字符串是否是回文。如果是,我们将打印一条包含该字符串的消息,否则将打印不包含该字符串的消息。
输入一个字符串,判断其是否为回文字符串。所谓回文字符串是指该字符串正读反读都一样。如:aba,abba。(判断用if的双分支结构
以下是两种判断回文字符串的方法:
1.使用切片实现
```python
s = input("请输入一个字符串:")
if s == s[::-1]:
print("Yes")
else:
print("No")
```
2.使用函数实现
```python
def is_palindrome(s):
return s == s[::-1]
s = input("请输入一个字符串:")
if is_palindrome(s):
print("Yes")
else:
print("No")
```