如果一个字符串从前往后和从后往前读时是一样的,那么这个字符串就是回文串。请编写一个函数判断是否为回文串,同时编写测试代码检验回文串。(提示使用切片,注意列表索引的使用)。
时间: 2023-05-12 09:07:02 浏览: 1009
好的,我可以回答这个问题。以下是代码实现:
```python
def is_palindrome(s):
return s == s[::-1]
# 测试代码
print(is_palindrome('racecar')) # True
print(is_palindrome('hello')) # False
```
这个函数接受一个字符串作为参数,使用切片来判断字符串是否为回文串。如果字符串和它的反转字符串相等,那么它就是回文串,返回 True,否则返回 False。
测试代码中,我们分别测试了一个回文串和一个非回文串,结果都符合预期。
相关问题
如果一个字符串从前往后和从后往前读时是一样的,那么这个字符串就是回文串。请编写一个函数判断是否为回文串,同时编写测试代码检验回文串
在Python中,你可以创建一个名为`is_palindrome`的函数来判断一个字符串是否是回文串。这里是一个简单的实现:
```python
def is_palindrome(s):
"""
判断输入的字符串s是否为回文串
:param s: 需要判断的字符串
:return: 如果是回文串返回True,否则返回False
"""
# 将字符串转换为小写并去除空格
s = ''.join(ch for ch in s.lower() if ch.isalnum())
# 比较原字符串与其反转是否相同
return s == s[::-1]
# 测试代码
test_cases = ["A man a plan a canal Panama", "race a car", "level"]
for case in test_cases:
print(f"{case} 是回文串吗? {'是' if is_palindrome(case) else '不是'}")
```
上述函数首先将输入的字符串转换为小写并移除非字母和数字字符,这是为了忽略大小写和特殊字符对判断的影响。然后通过比较原字符串和它的反转来确定其是否为回文。
运行上面的测试代码,你会看到每个测试案例的结果。
如果一个字符串从前往后和从后往前读时是- 样的,那么这个字符串就是回文串。请编写- 个函数判断是否为回文串,同时编写测试代码 检验回文串。(提示使用切片,注意列表索引 的使用)
以下是代码示例:
```python
def is_palindrome(s):
return s == s[::-1]
# 测试代码
assert is_palindrome("abcba") == True
assert is_palindrome("abcd") == False
assert is_palindrome("A man a plan a canal Panama") == True # 忽略大小写和空格
```
在上述代码中,函数 `is_palindrome` 接受一个字符串参数 `s`,并返回一个 bool 值,表示该字符串是否为回文串。其中,`s[::-1]` 表示将字符串反转,如果反转后与原字符串相等,则说明该字符串为回文串。
测试代码中,通过 assert 语句进行断言,确保 `is_palindrome` 函数的正确性。
阅读全文