4. 定义函数并测试,判断一个字符串是否是回文(顺读倒读都一样的字符串如:abba)。
时间: 2024-03-11 20:48:55 浏览: 136
可以借助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
```
说明函数实现正确。
相关问题
C语言回文是前后两个方向拼写完全相同的字符串。回文的例子如“radar”、"ABCBA"和"ABBA"。很显然,空字符串是回文,任何一个只有1个字符的字符串是回文。 编写一个函数 isPalindrome, 判断一个字符串是否是回文。 要求:判断过程通过指针操作实现!
sh
make
```
- 安装驱动程序
```sh
sudo insmod example.ko
```
- 运行测试好的,我来为你解答这个问题。
首先,我们需要明确一下什么是指针。指程序
```sh
./example
```
- 卸载驱动程序
```sh
sudo rmmod example
```
C语言回文是前后两个方向拼写完全相同的字符串。回文的例子如“radar”、"ABCBA"和"ABBA"。很显然,空字符串是回文,任何一个只有1个字符的字符串是回文。 编写一个函数 isPalindrome, 判断一个字符串是否是回文。 要求:判断过程通过指针操作实现! 函数接口定义: int isPalindrome ( char *str ); 判断字符串 str 是否回文,若是返回1,否则返回0。 裁判测试程序样例: #include <stdio.h> #include "string.h" int isPalindrome ( char *str ); int main() { char s[81]; gets(s); if(isPalindrome(s)==1) printf("Yes"); else printf("No"); } /* 请在这里填写答案 */
答案如下:
```c
int isPalindrome(char *str) {
int len = strlen(str);
char *p = str;
char *q = str + len - 1;
while (p < q) {
if (*p != *q) {
return 0;
}
p++;
q--;
}
return 1;
}
```
思路:用指针指向字符串的头尾,每次比较两个指针指向的字符是否相同,如果不同则不是回文,返回0;如果一直比较到两个指针相遇也没有发现不同的字符,说明是回文,返回1。
阅读全文