Python:函数篇(每周练习)
题目:编写一个Python函数,接收一个字符串参数,如果字符串是回文,返回True,否则返回False。
解法1:使用内置的str.lower()
和str.isalpha()
方法来去除标点和空格,并检查字符串是否只包含字母。
def is_palindrome(s):
s = s.lower()
s = ''.join(filter(str.isalpha, s))
return s == s[::-1]
# 测试
print(is_palindrome("madam")) # 应该返回True
print(is_palindrome("hello")) # 应该返回False
解法2:直接比较原字符串和它的反向字符串。
def is_palindrome(s):
return s == s[::-1]
# 测试
print(is_palindrome("madam")) # 应该返回True
print(is_palindrome("hello")) # 应该返回False
解法3:移除字符串中的空格和标点符号,并忽略大小写,然后检查处理后的字符串是否与它的反向相同。
import string
def is_palindrome(s):
s = s.strip().lower()
s = ''.join(filter(str.isalnum, s))
return s == s[::-1]
# 测试
print(is_palindrome("madam")) # 应该返回True
print(is_palindrome("hello")) # 应该返回False
以上代码都使用了不同的方法来检查字符串是否为回文,你可以根据需要选择适合的解法。
评论已关闭