Заглавные буквы в Jython/JES
В настоящее время я пишу программу JES, которая возвращает True или False в зависимости от того, передана ли ей строка, содержащая палиндром. Хотя программа работает, она не работает, когда присутствует заглавная буква или символ пунктуации. Как я мог заставить это работать?
print(ThisPalindrome("racecar"))
>> True
print(ThisPalindrome("Racecar"))
>> False
2 ответа
Метод toLowerCase() для возврата значения строки вызова, преобразованного в нижний регистр.
Метод replace() для возврата новой строки, в которой некоторые или все совпадения шаблона заменены заменой. Мы будем использовать один из RegExp, который мы только что создали.
Метод split() разбивает объект String на массив строк, разделяя строку на подстроки.
Метод reverse() возвращает массив на место. Первый элемент массива становится последним, а последний становится первым.
Чтобы решить проблему с заглавными буквами, вы можете попробовать использовать str.lower()
метод в ваших чеках.
def ThisPalindrome(word):
lowercase = word.lower()
reversedOrder = reversed(lowercase)
if lowercase == ''.join(reversedOrder):
return True
else:
return False
Теоретически, эта функция также должна работать с базовой пунктуацией, если она не нарушает функцию. Ввод, такой как '
может привести к его поломке.