我目前正在编写一个JES程序,该程序根据是否将包含回文的字符串传递给它返回True或False。尽管该程序可以正常工作,但当存在大写字母或标点符号时,它会失败。我怎样才能让它工作?
print(ThisPalindrome("racecar"))
>> True
print(ThisPalindrome("Racecar"))
>> False
要解决大写问题,您可以尝试在检查中使用 str.lower()
方法。
def ThisPalindrome(word):
lowercase = word.lower()
reversedOrder = reversed(lowercase)
if lowercase == ''.join(reversedOrder):
return True
else:
return False
从理论上讲,这个函数也应该适用于基本的标点符号,只要它不破坏函数。'
等输入可能会导致其中断。
toLowerCase() 方法,用于返回转换为小写的调用字符串值。
replace() 方法,用于返回一个新字符串,其中模式的部分或全部匹配项被替换替换。我们将使用我们之前刚刚创建的正则表达式之一。
split() 方法通过将字符串分隔为子字符串,将字符串对象拆分为字符串数组。
reverse() 方法就地反转数组。第一个数组元素成为最后一个,最后一个数组元素成为第一个数组元素。