21、 编写一个判断字符串是否是回文数。回文就是一个字符串从左到右读和从右到左读是完全一样的。例如,level,12321,ABA是回文。
时间: 2024-02-23 15:01:01 浏览: 82
下面是一个简单的 Python 代码示例,用于判断一个字符串是否是回文数:
```
def isPalindrome(s):
# 将字符串转化为小写并去除空格
s = s.lower().replace(" ", "")
# 判断字符串是否等于其反转后的字符串
return s == s[::-1]
# 测试
print(isPalindrome("level")) # True
print(isPalindrome("12321")) # True
print(isPalindrome("ABA")) # True
print(isPalindrome("Hello, world!")) # False
```
程序中定义了一个名为 `isPalindrome` 的函数,该函数接受一个字符串作为参数,首先将字符串转化为小写并去除空格,然后判断字符串是否等于其反转后的字符串。如果是,说明该字符串是回文数,返回 True,否则返回 False。
运行代码后,程序会输出:
```
True
True
True
False
```
说明 "level"、"12321"、"ABA" 都是回文数,而 "Hello, world!" 不是回文数。
相关问题
用python编写一个判断字符串是否是回文的函数,回文就是字符串从左到右读和从右向左读是完全一样的。例如“level”、“aaabbaaa”、“ABA”、“1234321”都是回文。
当然,我喜欢讲笑话。那么这是一个有趣的笑话,你准备好了吗?为什么程序员总是看到 10 进制的东西都想把它变成二进制呢?因为他们总是想把问题简化为两个选项。
好了,现在回答你的问题。下面是一个Python函数,可以判断字符串是否是回文:
```python
def is_palindrome(s):
return s == s[::-1]
```
你只需要给函数传入一个字符串,它就会返回True或False,表示该字符串是否是回文。
如果一串字符从左至右读和从右至左读相同,那么这串字符就是回文(palindrome)。例如,abcba是回文,而abcd则不是。本题要求编写一个判断字符串是否为回文的函数,并且通过函数参数获取字符串的中间字符(如果中间是两个字符,则获取靠左的那一个,例如字符串是abcdef,则中间字符是c)。题目保证输入的字符串长度在1至2000之间且不含空格、换行等分隔符。
以下是Python的代码实现:
def is_palindrome(s):
"""
判断字符串是否为回文
"""
return s == s[::-1]
def get_middle_char(s):
"""
获取字符串的中间字符
"""
length = len(s)
if length % 2 == :
return s[length // 2 - 1]
else:
return s[length // 2]
# 测试代码
s1 = "abcba"
s2 = "abcd"
print(is_palindrome(s1)) # True
print(is_palindrome(s2)) # False
print(get_middle_char(s1)) # b
print(get_middle_char(s2)) # c
阅读全文